Write two algorithms for a given program based on your understanding of the functionality of labs 5 and 5 program using Java.
LAB 5
Program: Password Validation Program in Java
import java.util.*;
class PasswordValidator {
public PasswordValidator() {
super();
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
PasswordValidator passwordValidator = new PasswordValidator();
String passWord;
String userName = "techdive";
System.out.println("Enter the Password:");
passWord = scan.next();
System.out.println("Input: UserName " + userName + " Password -> " + passWord);
passwordValidator.passwordValidation(userName, passWord);
while (!passWord.equals("q")) {
// Password should be less than 15 and more than 8 characters in length.
// Password should contain at least one upper case and one lower case alphabet.
// Password should contain at least one number.
// Password should contain at least one special character.
}
}
public void passwordValidation(String userName, String password) {
boolean valid = true;
if (password.length() > 15 || password.length() < 8) {
System.out.println("Password should be less than 15 and more than 8 characters in length.");
valid = false;
}
if (password.indexOf(userName) > -1) {
System.out.println("Password Should not be same as user name");
valid = false;
}
String upperCaseChars = ".*[A-Z].*";
if (!password.matches(upperCaseChars)) {
System.out.println("Password should contain at least one upper case alphabet");
valid = false;
}
String lowerCaseChars = ".*[a-z].*";
if (!password.matches(lowerCaseChars)) {
System.out.println("Password should contain at least one lower case alphabet");
valid = false;
}
String numbers = ".*[0-9].*";
if (!password.matches(numbers)) {
System.out.println("Password should contain at least one number.");
valid = false;
}
String specialChars = ".*[~,!,@,#,$,%,^,&,*,(,),-,=,+,[,],{,},|,;,:,<,>,/,?].*";
if (!password.matches(specialChars)) {
System.out.println("Password should contain at least one special character");
valid = false;
}
if (valid) {
System.out.println("Password is valid.");
}
}
}