use aead::generic_array::{ArrayLength, GenericArray};
use aead::Error;
use rand::{rngs::OsRng, RngCore};
pub mod symm;
pub fn random_vec(bytes: usize) -> Result<Vec<u8>, Error> {
let mut value = vec![0u8; bytes];
OsRng.fill_bytes(value.as_mut_slice());
Ok(value)
}
pub fn random_bytes<T: ArrayLength<u8>>() -> Result<GenericArray<u8, T>, Error> {
Ok(GenericArray::clone_from_slice(
random_vec(T::to_usize())?.as_slice(),
))
}