How to generate random string without repetition in Rust

1 Answer

0 votes
use rand::seq::SliceRandom; // choose
use std::collections::HashSet;

fn generate_unique_random_string(total: usize) -> String {
    let chars: Vec<char> = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".chars().collect();
    let mut used_chars = HashSet::new();
    let mut result = String::new();
    let mut rng = rand::thread_rng();

    while result.len() < total {
        let &random_char = chars.choose(&mut rng).unwrap();
        if used_chars.insert(random_char) {
            result.push(random_char);
        }
    }

    result
}

fn main() {
    println!("{}", generate_unique_random_string(15));
}




/*
run:
  
eThP9niWV65x8aU
  
*/

 



answered Nov 4, 2024 by avibootz

Related questions

1 answer 108 views
1 answer 114 views
1 answer 105 views
1 answer 94 views
...