Q:

Rust program to generate a random password using a given set of characters

0

In this program, we will generate a random password using a given set of characters and print generated password.

Add random external library to your project

  1. Create your project using the below command.
    $cargo new random --bin
  2. Goto the project folder cd random and edit Cargo.toml file.
    $random>nano Cargo.toml
  3. Then add dependency in Cargo.toml file
    [dependencies]
    rand = "0.5.5"
  4. After that, build your project using the below command
    $random>cargo build
  5. Then execute your project after modification in the src/main.rs source file.
    $random>cargo run

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program/Source Code:

The source code to generate a random password using a given set of characters is given below. The given program is compiled and executed on UBUNTU 18.04 successfully.

// Rust program to generate a random password 
// using given set of characters.
fn main() {
    use rand::Rng;
    const CHAR_SET: &[u8] = b"abcdefghijklmnopqrstuvwxyz\
        ABCDEFGHIJKLMNOPQRSTUVWXYZ\
        0123456789(~!@#$%^&*)";
    
    const PWD_LEN: usize = 10;
    let mut rnd = rand::thread_rng();

    let password: String = (0..PWD_LEN)
        .map(|_| {
            let idx = rnd.gen_range(0,CHAR_SET.len());
            CHAR_SET[idx] as char
        })
        .collect();

    println!("Generated password: {:?}", password);
}

Output:

$random> cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `target/debug/random`

Generated password: "MNe2&TMjlf"

Explanation:

In the above program, we imported the "rand" library to our project for generating random numbers. We imported the "rand" library using the below line:

use rand::Rng;

In the main() function, we generated a random password using a given set of characters with the help of "rand" library functions and printed the result.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Similar questions


need a help?


find thousands of online teachers now