diff --git a/Passwort_Check.java b/Passwort_Check.java index 70c4476..03fe195 100644 --- a/Passwort_Check.java +++ b/Passwort_Check.java @@ -1,44 +1,87 @@ + import java.util.Scanner; -public class Passwort_Check { +/** + * Dieses Programm prüft anhand von fünf Bedingungen, ob ein Passwort sicher + * ist: + * - Mindestens 20 Zeichen lang + * - Enthält mindestens drei Kleinbuchstaben + * - Enthält mindestens drei Großbuchstaben + * - Enthält mindestens drei Ziffern + * - Enthält mindestens drei Sonderzeichen + */ +public class Passwort_Check { + /** + * Prüft, ob das Passwort mindestens 20 Zeichen lang ist. + * + * @param password Das zu prüfende Kennwort. + * @return True, wenn das Kennwort mindestens 20 Zeichen lang ist, sonst false. + */ public static boolean checkLaenge(String passwort) { if (passwort == null) { return false; } - // Abfrage mind. Anzahl + return passwort.length() >= 20; } + /** + * Prüft, ob das Passwort mindestens drei Kleinbuchstaben enthält. + * + * @param password Das zu prüfende Kennwort. + * @return True, wenn das Kennwort mindestens drei Kleinbuchstaben enthält, + * sonst false. + */ public static boolean checkKleinBuchstaben(String passwort) { if (passwort == null) { return false; - } // Abfrage der Kleinbuchstaben + } return passwort.matches(".*[a-z].*[a-z].*[a-z].*"); } + /** + * Prüft, ob das Passwort mindestens drei Großbuchstaben enthält. + * + * @param password Das zu prüfende Kennwort. + * @return True, wenn das Kennwort mindestens drei Großbuchstaben enthält, sonst + * false. + */ public static boolean checkGrossBuchstaben(String passwort) { if (passwort == null) { return false; - } // Abfrage der Grossbuchstaben - return passwort.matches(".*[A-Z].*[A-Z].*[A-Z].*"); // + } + return passwort.matches(".*[A-Z].*[A-Z].*[A-Z].*"); } + /** + * Prüft, ob das Passwort mindestens drei Ziffern enthält. + * + * @param password Das zu prüfende Kennwort. + * @return True, wenn das Kennwort mindestens dreistellig ist, sonst false. + */ public static boolean checkZiffer(String passwort) { if (passwort == null) { return false; - } // Abfrage der Ziffern + } return passwort.matches(".*[0-9].*[0-9].*[0-9].*"); } + /** + * Prüft, ob das Passwort mindestens drei Sonderzeichen enthält. + * + * @param password Das zu prüfende Kennwort. + * @return True, wenn das Kennwort mindestens drei Sonderzeichen enthält, sonst + * false. + */ 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: + // Ausschlus der Steuerzeichen: // [^/t] schließt Tab aus // [^/r] schließt Carriage Return aus // [^/n] schließt Line Feed aus @@ -50,7 +93,11 @@ public class Passwort_Check { // return // passwort.matches(".*[^A-Za-z0-9\\x00-\\x1F\\x7F].*[^A-Za-z0-9\\x00-\\x1F\\x7F].*[^A-Za-z0-9\\x00-\\x1F\\x7F].*"); } - + /** + * Hauptmethode, die den Benutzer zur Eingabe eines Passworts auffordert und dessen Sicherheit anhand der definierten Bedingungen überprüft. + * + * @param args Kommandozeilenargumente (werden in diesem Programm nicht verwendet). + */ public static void main(String[] args) { String passwort = null;