Expand description
Cryptographic pseudo-random number generation.
An application should create a single SystemRandom and then use it for
all randomness generation. Functions that generate random bytes should take
a &dyn SecureRandom parameter instead of instantiating their own. Besides
being more efficient, this also helps document where non-deterministic
(random) outputs occur. Taking a reference to a SecureRandom also helps
with testing techniques like fuzzing, where it is useful to use a
(non-secure) deterministic implementation of SecureRandom so that results
can be replayed. Following this pattern also may help with sandboxing
(seccomp filters on Linux in particular). See SystemRandom’s
documentation for more details.
Structs§
- Random
- A random value constructed from a
SecureRandomthat hasn’t been exposed through any safe Rust interface. - System
Random - A secure random number generator where the random values come directly from the operating system.
Traits§
- Randomly
Constructable - A type that can be returned by
ring::rand::generate(). - Secure
Random - A secure random number generator.
Functions§
- generate
- Generate the new random value using
rng.