use securerand_rs::securerand::SecureRandom;
use securerand_rs::rngs::FuschineCSPRNG;
pub struct SlugCSPRNG;
impl SlugCSPRNG {
pub fn new(pass: &str) -> [u8;32] {
SecureRandom::new(pass)
}
pub fn os_rand() -> [u8;32] {
return FuschineCSPRNG::new_32();
}
pub fn os_rand_64() -> [u8;64] {
return FuschineCSPRNG::get_64_bytes_from_os()
}
pub fn os_rand_128() -> [u8;128] {
return FuschineCSPRNG::get_128_bytes_from_os()
}
pub fn djb_33() -> [u8;33] {
return FuschineCSPRNG::get_33_bytes_from_os()
}
pub fn derive_from_password(pass: &str) -> [u8;32] {
SecureRandom::derive_from_password(pass)
}
pub fn derive_from_password_with_salt(pass: &str, salt: &str) -> [u8;32] {
SecureRandom::derive_from_password_and_salt(pass, salt)
}
pub fn from_seed(seed: [u8;32]) -> [u8;32] {
return FuschineCSPRNG::from_seed_32(seed)
}
pub fn from_seed_48(seed: [u8;32]) -> [u8;48] {
return FuschineCSPRNG::from_seed_48(seed)
}
pub fn from_seed_64(seed: [u8;32]) -> [u8;64] {
return FuschineCSPRNG::from_seed_64(seed)
}
pub fn from_seed_128(seed: [u8;32]) -> [u8;128] {
return FuschineCSPRNG::from_seed_128(seed)
}
}