25 releases
0.2.8 | Oct 20, 2022 |
---|---|
0.2.7 | Jun 14, 2022 |
0.2.6 | Mar 28, 2022 |
0.2.3 | May 20, 2021 |
0.1.0 | Mar 23, 2019 |
#3 in Operating systems
7,123,246 downloads per month
Used in 16,523 crates
(572 directly)
71KB
895 lines
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.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.
Dependencies
~1–530KB
~10K SLoC