Rand
A Rust library to securely get random entropy. This crate derives its name from
Linux's getrandom function, but is cross platform, roughly supporting the same
set of platforms as Rust's std lib.
This is a low-level API. Most users should prefer a high-level random-number library like Rand or a cryptography library.
Usage
Add this to your Cargo.toml:
[dependencies]
getrandom = "0.1"
Then invoke the getrandom function:
fn get_random_buf() -> Result<[u8; 32], getrandom::Error> {
let mut buf = [0u8; 32];
getrandom::getrandom(&mut buf)?;
buf
}
Features
This library is no_std compatible on SGX but requires std on most platforms.
For WebAssembly (wasm32), Enscripten targets are supported directly; otherwise
one of the following features must be enabled:
Versions
This crate requires Rustc version 1.28.0 or later due to usage of NonZeroU32.
License
The getrandom library is distributed under the terms of both the MIT license
and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.