INNER CODE UNIT · Rust
randombytes
celabshq/libcrux · benchmarks/src/lib.rs:2
pub fn randombytes(n: usize) -> Vec<u8> {
use rand::{rngs::SysRng, TryRng};
let mut bytes = vec![0u8; n];
SysRng.try_fill_bytes(&mut bytes).unwrap();
bytes
}
pub fn fmt(x: usize) -> String {
let base = (x as f64).log(1024f64).floor() as usize;
let suffix = ["", "KB", "MB", "GB"];
format!("{} {}", x >> (10 * base), suffix[base])
}
pub fn hex_str_to_bytes(val: &str) -> Vec<u8> {
let b: Result<Vec<u8>, std::num::ParseIntError> = (0..val.len())
.step_by(2)
.map(|i| u8::from_str_radix(&val[i..i + 2], 16))