1use rand::distr::uniform::SampleUniform;
2use rand::distr::Alphanumeric;
3use rand::Rng;
4
5pub fn random_in_range<T>(min: T, max: T) -> T
6where
7 T: SampleUniform + PartialOrd,
8{
9 let mut rng = rand::rng();
10 rng.random_range(min..max)
11}
12
13pub fn random_alphanumeric(length: usize) -> String {
14 let random_string: String = rand::rng()
15 .sample_iter(&Alphanumeric)
16 .take(length)
17 .map(char::from)
18 .collect();
19 random_string
20}
21
22pub fn random_bytes<T: AsMut<[u8]>>(mut buffer: T) {
23 let mut rng = rand::rng();
24 rng.fill(buffer.as_mut());
25}