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}