module Random::Secure

Overview

Random::Secure generates random numbers from a secure source provided by the system.

It uses acryptographically 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 usesarc4random, on Linuxgetrandom, on WindowsRtlGenRandom, and falls back to reading from/dev/urandom on UNIX systems.

Extended Modules

Defined in:

random/secure.cr

Instance Method Summary

Instance Method Detail

def next_u #

def random_bytes(buf : Bytes) : Nil #