72 lines
2.4 KiB
Java
72 lines
2.4 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
|
|
return passwort.matches(".*[^A-Za-z0-9\t\r\n].*[^A-Za-z0-9\t\r\n].*[^A-Za-z0-9\t\r\n].*");
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
}
|