Snap for 7889170 from 6f727a1ec85bded7552f725ecd54a5108a7953ba to sc-v2-release

Change-Id: Iaf0455d6fa1547ec18b809c46c14fd0391456236
tree: 98c50f84c0c05abbe12065197057b1dff5622f61
  1. benches/
  2. src/
  3. tests/
  4. .cargo_vcs_info.json
  5. Android.bp
  6. build.rs
  7. Cargo.toml
  8. Cargo.toml.orig
  9. cargo2android.json
  10. CHANGELOG.md
  11. LICENSE-APACHE
  12. LICENSE-MIT
  13. METADATA
  14. MODULE_LICENSE_APACHE2
  15. OWNERS
  16. README.md
  17. TEST_MAPPING
README.md

getrandom

Build Status Crate Documentation Dependency Status Downloads License

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.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.34.0 or later.

License

The getrandom library is distributed under either of

at your option.