module Random::Secure
¶
Random::Secure
generates random numbers from a secure source provided by the system.
It uses a cryptographically secure pseudorandom number generator (CSPRNG) for cryptography and secure usages such as generating secret keys, or to seed another pseudorandom number generator (PRNG).
Random::Secure.rand(6) # => 4
[1, 5, 6].shuffle(Random::Secure) # => [6, 1, 5]
On OpenBSD, it uses arc4random
,
on Linux getrandom
(if the kernel supports it),
on Windows RtlGenRandom
,
and falls back to reading from /dev/urandom
on UNIX systems.