More documentation to come.
The implementation of the default random generator varies by platform. The implementation on each platform must be thread-safe and automatically seeded, and should be cryptographically secure to the extent possible. Currently supported platforms have the following implementation details:
- Apple platforms use
arc4random_buf(3). - Linux, FreeBSD, and other UNIX-like platforms use
getrandom(2)when available; otherwise, they read from/dev/urandom. - Fuchsia platforms use
getentropy(3). - Windows platforms use
BCryptGenRandom.