uebung4/Passwort_Check1.java

65 lines
2.0 KiB
Java

import java.util.Scanner;
public class Passwort_Check1 {
public static boolean checkLaenge(String passwort) {
return passwort.length() >= 20;
}
public static boolean checkKleinBuchstaben(String passwort) {
return passwort.matches(".*[a-z].*[a-z].*[a-z].*");
}
public static boolean checkGrossBuchstaben(String passwort) {
return passwort.matches(".*[A-Z].*[A-Z].*[A-Z].*");
}
public static boolean checkZiffer(String passwort) {
return passwort.matches(".*[0-9].*[0-9].*[0-9].*");
}
public static boolean checkSonderZeichen(String passwort) {
return passwort.matches(".*[!\\?\\$%&#@*+\\-=_.].*[!\\?\\$%&#@*+\\-=_.].*[!\\?\\$%&#@*+\\-=_.].*");
}
public static void main(String[] args) {
String passwort = null;
boolean check = true;
Scanner in = new Scanner(System.in);
System.out.println("Geben Sie ein Passwort zur überprüfung ein:");
passwort = in.nextLine();
do {
if (!checkLaenge(passwort)) {
System.out.println("Passwort ist zu kurz!");
} else if (!checkKleinBuchstaben(passwort)) {
System.out.println("Es fehlen Kleinbuchstaben!");
} else if (!checkGrossBuchstaben(passwort)) {
System.out.println("Es fehlen Großbuchstaben!");
} else if (!checkZiffer(passwort)) {
System.out.println("Es fehlen Ziffern!");
} else if (!checkSonderZeichen(passwort)) {
System.out.println("Es fehlen Sonderzeichen!");
} else {
System.out.println("Passwort ist sicher.");
check = true;
break; // Optional, da Schleife sonst sowieso endet
}
if (check == false) {
System.out.println("Geben Sie ein verbessertes Passwort zur überprüfung ein:");
passwort = in.nextLine();
}
} while (check == false);
System.out.println("...und Tschüss");
in.close();
}
}