[](https://docs.rs/crypto_api_osrandom)
[](https://opensource.org/licenses/BSD-2-Clause)
[](https://opensource.org/licenses/MIT)
[](https://crates.io/crates/crypto_api_osrandom)
[](https://crates.io/crates/crypto_api_osrandom)
[](https://ci.appveyor.com/project/KizzyCode/crypto-api-osrandom)
[](https://deps.rs/crate/crypto_api_osrandom/0.2.0)
# crypto_api_osrandom
Welcome to `crypto_api_osrandom` 🎉
## About
This crate implements access to your operating system's cryptographically secure random number
generator via [`crypto_api`](https://github.com/KizzyCode/crypto_api).
## APIs used
The following native APIs are used:
- macOS/iOS: `SecRandomCopyBytes` from the security framework
- FreeBSD/OpenBSD/NetBSD: `arc4random_buf` (which does not use ARC4 anymore but a secure PRF like
[ChaCha20](https://cr.yp.to/chacha.html))
- Windows: `CryptGenRandom` with `PROV_RSA_FULL` as provider
- Linux: `getrandom` for glibc versions >= 2.25 or `/dev/urandom` for ancient distributions