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.
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
}
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:
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.