// You can set your own rules
fn check_password_strength(password: &str) -> &str {
let length = password.len();
let mut has_lower = false;
let mut has_upper = false;
let mut has_digit = false;
let mut special_char = false;
let lowuppdig = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
for c in password.chars() {
if c.is_lowercase() {
has_lower = true;
}
if c.is_uppercase() {
has_upper = true;
}
if c.is_digit(10) {
has_digit = true;
}
if !lowuppdig.contains(c) {
special_char = true;
}
}
if has_lower && has_upper && has_digit && special_char && length >= 10 {
return "Strong";
} else if (has_lower || has_upper) && special_char && length >= 8 {
return "Medium";
}
"Weak"
}
fn main() {
let password = "aq1o@p9$XM";
println!("{}", check_password_strength(password));
println!("{}", check_password_strength("asW!W)(o"));
println!("{}", check_password_strength("WSDFK!#Q"));
println!("{}", check_password_strength("n*djskq*"));
println!("{}", check_password_strength("WE3q#$"));
}
/*
run:
Strong
Medium
Medium
Medium
Weak
*/