reto03 finish

This commit is contained in:
2023-06-15 10:45:23 +02:00
parent ad298b5e75
commit 468e90ac55

View File

@@ -12,20 +12,48 @@ use rand::Rng;
fn main() { fn main() {
// configurar: // configurar:
let veces = 13; let veces = 13;
let letras_mayusculas = true; let mayusculas = true;
let numeros = true; let numeros = true;
let simbolos = true; let simbolos = true;
let mut caracteres = String::from_utf8((b'a'..=b'z').collect()).unwrap(); let mut caracteres = String::from_utf8((b'a'..=b'z').collect()).unwrap();
if letras_mayusculas { if mayusculas {
let vector_mayusculas = String::from_utf8((b'A'..=b'Z').collect()).unwrap(); let string_mayusculas = String::from_utf8((b'A'..=b'Z').collect()).unwrap();
caracteres += vector_mayusculas.to_string().as_str(); caracteres += string_mayusculas.to_string().as_str();
} }
if numeros {
let string_numeros = String::from_utf8((b'0'..=b'9').collect()).unwrap();
caracteres += string_numeros.to_string().as_str();
}
if simbolos {
for num in 33..48 {
let u8 = num as u8;
let caracter = u8 as char;
caracteres += caracter.to_string().as_str();
}
for num in 58..65 {
let u8 = num as u8;
let caracter = u8 as char;
caracteres += caracter.to_string().as_str();
}
for num in 91..97 {
let u8 = num as u8;
let caracter = u8 as char;
caracteres += caracter.to_string().as_str();
}
for num in 123..127 {
let u8 = num as u8;
let caracter = u8 as char;
caracteres += caracter.to_string().as_str();
}
}
println!("Caracteres: {}", caracteres);
let mut texto: String = String::new(); let mut texto: String = String::new();
for _ in 0..veces { for _ in 0..veces {
let num: u8 = rand::thread_rng().gen_range(33..127); let num = rand::thread_rng().gen_range(0..caracteres.len());
let caracter = num as char; let caracter = caracteres.chars().nth(num).unwrap();
texto += &caracter.to_string(); texto += caracter.to_string().as_str();
} }
println!("{}", texto.to_string()); println!("{}", texto.to_string());
} }