start des Testat
parent
8144c3dda5
commit
ccc0acca2c
Binary file not shown.
|
|
@ -0,0 +1,128 @@
|
|||
package uebung4;
|
||||
|
||||
/*Programm, dass ein eingegebenes Passwort auf seine Sicherheit überprüft.
|
||||
Es soll mindestens 20 Zeichen und mindestens 3 Klein-, Großbuchstaben, Ziffern und Sonderzeichen beinhalten.*/
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Passwort_Check {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
boolean istPasswortSicher = false;//Passwort wird initial auf false gesetzt
|
||||
String passwort;// String-Variable zum Speichern des Passworts
|
||||
System.out.println("Willkommen beim Passwort-Checker!");
|
||||
|
||||
//Überprüfung und Ausgabe des Problems oder der Sicherheit des Passworts
|
||||
do {
|
||||
System.out.print("Bitte geben Sie ein Passwort ein: ");
|
||||
passwort = scanner.nextLine();/* speichert die Benutzereingabe in der Variable passwort*/
|
||||
|
||||
if (!checkLaenge(passwort)) {
|
||||
System.out.println("Fehler: Das Passwort ist zu kurz. Es muss mindestens 20 Zeichen lang sein.");
|
||||
}
|
||||
|
||||
else if (!checkKleinBuchstaben(passwort)) {
|
||||
System.out.println("Fehler: Das Passwort muss mindestens 3 Kleinbuchstaben enthalten.");
|
||||
}
|
||||
|
||||
|
||||
else if (!checkGrossBuchstaben(passwort)) {
|
||||
System.out.println("Fehler: Das Passwort muss mindestens 3 Großbuchstaben enthalten.");
|
||||
}
|
||||
|
||||
|
||||
else if (!checkZiffer(passwort)) {
|
||||
System.out.println("Fehler: Das Passwort muss mindestens 3 Ziffern enthalten.");
|
||||
}
|
||||
|
||||
|
||||
else if (!checkSonderZeichen(passwort)) {
|
||||
System.out.println("Fehler: Das Passwort muss mindestens 3 Sonderzeichen enthalten.");
|
||||
}
|
||||
|
||||
|
||||
else {
|
||||
istPasswortSicher = true;
|
||||
System.out.println("Passwort ist sicher.");
|
||||
}
|
||||
}while (!istPasswortSicher);//wiederhole die Eingabe bis Passwort sicher ist
|
||||
|
||||
|
||||
scanner.close();
|
||||
System.out.println("Programm beendet.");
|
||||
//wenn das Passwort sicher ist, wird das Programm beendet
|
||||
}
|
||||
|
||||
/*Rückgabewert ist true, wenn das Passwort mindestens 20 Zeichen enthält, ansonsten wird false zurückgegeben*/
|
||||
public static boolean checkLaenge(String passwort) {
|
||||
return passwort != null && passwort.length() >= 20;
|
||||
}
|
||||
|
||||
/*Rückgabewert ist true, wenn das Passwort mindestens 3 Kleinbuchstaben enthält, ansonsten wird false zurückgegeben*/
|
||||
public static boolean checkKleinBuchstaben(String passwort) {
|
||||
//Anzahl der Kleinbuchstaben wird gezählt
|
||||
int count = 0;
|
||||
if (passwort==null) {
|
||||
return false;
|
||||
}
|
||||
for (char c : passwort.toCharArray()) {
|
||||
if (Character.isLowerCase(c)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count >= 3;
|
||||
//wenn Anzahl der Kleinbuchstaben größer gleich 3 ist, wird true zurückgegeben
|
||||
}
|
||||
|
||||
/*Rückgabewert ist true, wenn das Passwort mindestens 3 Großbuchstaben enthält, ansonsten wird false zurückgegeben*/
|
||||
public static boolean checkGrossBuchstaben(String passwort) {
|
||||
//Anzahl der Großbuchstaben wird gezählt
|
||||
int count = 0;
|
||||
if (passwort==null) {
|
||||
return false;
|
||||
}
|
||||
for (char c : passwort.toCharArray()) {
|
||||
if (Character.isUpperCase(c)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count >= 3;
|
||||
//wenn Anzahl der Großbuchstaben größer gleich 3 ist, wird true zurückgegeben
|
||||
}
|
||||
|
||||
/*Rückgabewert ist true, wenn das Passwort mindestens 3 Ziffern enthält, ansonsten wird false zurückgegeben*/
|
||||
public static boolean checkZiffer(String passwort) {
|
||||
//Anzahl der Zahlen wird gezählt
|
||||
int count = 0;
|
||||
if (passwort==null) {
|
||||
return false;
|
||||
}
|
||||
for (char c : passwort.toCharArray()) {
|
||||
if (Character.isDigit(c)) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count >= 3;
|
||||
//wenn Anzahl der Zahlen größer gleich 3 ist, wird true zurückgegeben
|
||||
}
|
||||
|
||||
/*Rückgabewert ist true, wenn das Passwort mindestens 3 Sonderzeichen enthält, ansonsten wird false zurückgegeben*/
|
||||
public static boolean checkSonderZeichen(String passwort) {
|
||||
int count = 0;
|
||||
if (passwort==null) {
|
||||
return false;
|
||||
}
|
||||
for (char c : passwort.toCharArray()) {
|
||||
int ascii = (int) c;
|
||||
if ((ascii >= 32 && ascii <= 47) || (ascii >= 58 && ascii <= 64) ||
|
||||
(ascii >= 91 && ascii <= 96) || (ascii >= 123 && ascii <= 126) ||
|
||||
ascii == 128 || ascii == 130 || ascii == 132 || ascii == 136) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count >= 3;
|
||||
//wenn Anzahl der Sonderzeichen größer gleich 3 ist, wird true zurückgegeben
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue