uebung4/Passwort_Check.java

75 lines
2.5 KiB
Java

import java.util.Scanner;
public class Passwort_Check {
public static boolean checkLaenge(String passwort) {
// Abfrage mind. Anzahl
return passwort.length() >= 20;
}
public static boolean checkKleinBuchstaben(String passwort) {
// Abfrage der Kleinbuchstaben
return passwort.matches(".*[a-z].*[a-z].*[a-z].*");
}
public static boolean checkGrossBuchstaben(String passwort) {
// Abfrage der Grossbuchstaben
return passwort.matches(".*[A-Z].*[A-Z].*[A-Z].*");
}
public static boolean checkZiffer(String passwort) {
// Abfrage der Ziffern
return passwort.matches(".*[0-9].*[0-9].*[0-9].*");
}
public static boolean checkSonderZeichen(String passwort) {
// Überprüfung mit Regex durch Ausschluss
// [^A-Za-z0-9] Schließt alle ziffern und Buchstaben aus
// Ausschlus der Steuerzeichen:
// [^/t] schließt Tab aus
// [^/r] schließt Carriage Return aus
// [^/n] schließt Line Feed aus
// [^A-Za-z0-9\\x00-\\x1F\\x7F] [^A-Za-z0-9\t\r\n]
String sonderzeichenRegex = "[^A-Za-z0-9\\x00-\\x1F\\x7F]";
return passwort.matches(".*"+sonderzeichenRegex+".*"+sonderzeichenRegex+".*"+sonderzeichenRegex+".*");
}
public static void main(String[] args) {
String passwort = null;
boolean check = false;
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;
}
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();
}
}