bee_block/rand/
string.rs

1// Copyright 2020-2021 IOTA Stiftung
2// SPDX-License-Identifier: Apache-2.0
3
4use rand::{distributions::Alphanumeric, thread_rng, Rng};
5
6/// Generates a random string with a given charset.
7pub fn rand_string_charset(charset: &str, len: usize) -> String {
8    let charset = charset.as_bytes();
9    let mut rng = rand::thread_rng();
10
11    (0..len)
12        .map(|_| charset[rng.gen_range(0..charset.len())] as char)
13        .collect()
14}
15
16/// Generates a random string.
17pub fn rand_string(len: usize) -> String {
18    String::from_utf8(thread_rng().sample_iter(&Alphanumeric).take(len).collect()).unwrap()
19}