Java :: Aufgabe #72 :: Lösung #1

5 Lösungen Lösungen öffentlich
#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.
#1
vote_ok
von SymTech (1060 Punkte) - 13.02.2015 um 15:07 Uhr
Von "eulerscheZhl" in Java übersetzt.
Quellcode ausblenden 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben