tree: 3806f48b5da20546585776b27dc5c892598f1022 [path history] [tgz]
  1. benches/
  2. src/
  3. tests/
  4. .cargo-checksum.json
  5. Cargo.toml
  6. CHANGELOG.md
  7. LICENSE-APACHE
  8. LICENSE-MIT
  9. OWNERS
  10. README.md
  11. SECURITY.md
third_party/rust_crates/vendor/getrandom-0.2.10/README.md

getrandom

Build Status Crate Documentation Dependency Status Downloads License

A Rust library for retrieving random data from (operating) system sources. It is assumed that the 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.2"

Then invoke the getrandom function:

fn get_random_buf() -> Result<[u8; 32], getrandom::Error> {
    let mut buf = [0u8; 32];
    getrandom::getrandom(&mut buf)?;
    Ok(buf)
}

For more information about supported targets, entropy sources, no_std targets, crate features, WASM support and Custom RNGs see the getrandom documentation and getrandom::Error documentation.

Minimum Supported Rust Version

This crate requires Rust 1.36.0 or later.

License

The getrandom library is distributed under either of

at your option.