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}