import java.util.Scanner; public class Passwort_Check { public static boolean checkLaenge(String passwort) { if (passwort == null){ return false; } // Abfrage mind. Anzahl return passwort.length() >= 20; } public static boolean checkKleinBuchstaben(String passwort) { if (passwort == null){ return false; }// Abfrage der Kleinbuchstaben return passwort.matches(".*[a-z].*[a-z].*[a-z].*"); } public static boolean checkGrossBuchstaben(String passwort) { if (passwort == null){ return false; }// Abfrage der Grossbuchstaben return passwort.matches(".*[A-Z].*[A-Z].*[A-Z].*"); } public static boolean checkZiffer(String passwort) { if (passwort == null){ return false; }// 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 reg = "[\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]"; return passwort.matches(".*"+reg+".*"+reg+".*"+reg+".*"); //String negReg = "[^A-Za-z0-9\\x00-\\x1F\\x7F]"; //return passwort.matches(".*"+negReg+".*"+negReg+".*"+negReg+".*"); //return passwort.matches(".*[^A-Za-z0-9\\x00-\\x1F\\x7F].*[^A-Za-z0-9\\x00-\\x1F\\x7F].*[^A-Za-z0-9\\x00-\\x1F\\x7F].*"); } 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(); } }