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 BSD-based systems and macOS/Darwin, it uses arc4random, on Linux getrandom, on Windows RtlGenRandom, and falls back to reading from /dev/urandom on UNIX systems.
© 2012–2026 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.19.0/Random/Secure.html