dryoc/
rng.rs

1/// Provides random data up to `len` from the OS's random number generator.
2pub fn randombytes_buf(len: usize) -> Vec<u8> {
3    use rand_core::{OsRng, TryRngCore};
4
5    let mut r: Vec<u8> = vec![0; len];
6    OsRng
7        .try_fill_bytes(r.as_mut_slice())
8        .expect("failed to fill random bytes");
9
10    r
11}
12
13/// Provides random data up to length of `data` from the OS's random number
14/// generator.
15pub fn copy_randombytes(dest: &mut [u8]) {
16    use rand_core::{OsRng, TryRngCore};
17
18    OsRng
19        .try_fill_bytes(dest)
20        .expect("failed to fill random bytes");
21}