06e7d3e8d0
Differential Revision: https://phabricator.services.mozilla.com/D43709 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
benches | ||
src | ||
tests | ||
.cargo-checksum.json | ||
CHANGELOG.md | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
README.md
getrandom
A Rust library for retrieving random data from (operating) system source. It is
assumed that system always provides high-quality cryptographically secure random
data, ideally backed by hardware entropy sources. 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 using high-level random-number
library like rand
.
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, but uses std
on most platforms.
The log
library is supported as an optional dependency. If enabled, error
reporting will be improved on some platforms.
For WebAssembly (wasm32
), WASI and Emscripten targets are supported directly; otherwise
one of the following features must be enabled:
Minimum Supported Rust Version
This crate requires Rust 1.32.0 or later.
License
The getrandom
library is distributed under either of
at your option.