В Rust, если вы хотите генерировать случайные байты длиной более 32, вы можете использовать различные методы. Вот несколько вариантов:
-
Использование ящика
rand:use rand::Rng; fn generate_random_bytes(size: usize) -> Vec<u8> { let mut rng = rand::thread_rng(); let random_bytes: Vec<u8> = (0..size).map(|_| rng.gen()).collect(); random_bytes } fn main() { let size = 64; // Change the size as per your requirement let random_bytes = generate_random_bytes(size); println!("{:?}", random_bytes); } -
Использование крейта
getrandom:use getrandom::getrandom; fn generate_random_bytes(size: usize) -> Result<Vec<u8>, getrandom::Error> { let mut random_bytes = vec![0; size]; getrandom(&mut random_bytes)?; Ok(random_bytes) } fn main() { let size = 64; // Change the size as per your requirement match generate_random_bytes(size) { Ok(random_bytes) => println!("{:?}", random_bytes), Err(e) => eprintln!("Error: {}", e), } } -
Использование крейта
openssl:use openssl::rand::rand_bytes; fn generate_random_bytes(size: usize) -> Result<Vec<u8>, openssl::error::ErrorStack> { let mut random_bytes = vec![0; size]; rand_bytes(&mut random_bytes)?; Ok(random_bytes) } fn main() { let size = 64; // Change the size as per your requirement match generate_random_bytes(size) { Ok(random_bytes) => println!("{:?}", random_bytes), Err(e) => eprintln!("Error: {}", e), } }
Это всего лишь несколько примеров. Существуют и другие библиотеки и методы для генерации случайных байтов в Rust. Не забудьте настроить параметр размера в соответствии с желаемой длиной в байтах.
Ящик
, ящик getrandom, ящик openssl