webterm_core/
random.rs

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}