90 lines
3.1 KiB
Java
90 lines
3.1 KiB
Java
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 ZiffernS
|
|
|
|
return passwort.matches(".*[0-9].*[0-9].*[0-9].*");
|
|
}
|
|
|
|
public static boolean checkSonderZeichen(String passwort) {
|
|
if (passwort == null) {
|
|
return false;
|
|
}
|
|
// Ü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 = "[\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E\\x80]";
|
|
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();
|
|
}
|
|
|
|
}
|