Java :: Aufgabe #72 :: Lösung #1
5 Lösungen
#72
Passwortgenerator mit Parametern
Anfänger - Java
von pocki
- 27.11.2014 um 18:11 Uhr
Erstelle ein Programm/Funktion welche/s ein zufälliges Passwort erzeugt.
Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können.
Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen.
Jede beliebige Kombination der Parameter soll möglich sein.
Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können.
Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen.
Jede beliebige Kombination der Parameter soll möglich sein.
#1
von SymTech (1060 Punkte)
- 13.02.2015 um 15:07 Uhr
Von "eulerscheZhl" in Java übersetzt.
Java-Code
import java.util.Random;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Länge des Passworts: ");
int length = Integer.parseInt(in.next()) ;
System.out.print("Großbuchstaben verwenden (j/n): ");
boolean upperCase = in.next().equals("j");
System. out.print("Kleinbuchstaben verwenden (j/n): ");
boolean lowerCase = in.next().equals("j");
System.out.print("Ziffern verwenden (j/n): ");
boolean digits = in.next() == "j";
System.out.print("Sonderzeichen verwenden (j/n): ");
boolean specialChars = in.next().equals("j");
System.out.println(createPassword (lowerCase, upperCase, digits, specialChars, length));
}
private static String createPassword(boolean lowerCase, boolean upperCase, boolean digits, boolean specialChar, int length)
{
String alphabet = "";
if (lowerCase)
alphabet += "abcdefghijklmnopqrstuvwxyz";
if (upperCase)
alphabet += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (digits)
alphabet += "0123456789";
if (specialChar)
alphabet += "^!\"§$%&/()=?²³{[]}\\`´+*~#',.-;:_<>|";
if (alphabet.length() == 0)
return "error";
StringBuilder result = new StringBuilder ();
Random r = new Random ();
while (result.length() < length)
result.append(alphabet.charAt(r.nextInt(alphabet.length())));
return result.toString();
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
