C# :: Aufgabe #77 :: Lösung #9

14 Lösungen Lösungen öffentlich
#77

Passwortgenerator mit Parametern

Anfänger - C# 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.
#9
vote_ok
von DrizZle (360 Punkte) - 15.06.2016 um 13:15 Uhr
Länger als erwartet :D
Quellcode ausblenden C#-Code
class PasswordGenerator
{
    static void main(string[] args)
    {
    string kleinbuchstaben, großbuchstaben, zahlen, sonderzeichen;
	int length;
	Console.WriteLine("Bitte geben sie ihre Parameter an (y = Ja; n = Nein)");
	Console.Write("Länge: ");
	length = Convert.ToInt32(Console.ReadLine());
    Console.Write("Kleinbuchstaben: ");
	kleinbuchstaben = Console.ReadLine();
	Console.Write("Großbuchstaben: ");
	großbuchstaben = Console.ReadLine();
	Console.Write("Zahlen: ");
	zahlen = Console.ReadLine();
	Console.Write("SonderZeichen: ");
	sonderzeichen = Console.ReadLine();
    }
	string Shuffle(string text)
	{
	    string newtext = null;
	    Random rand = new Random();
		int index = 0;
		while(text.Length > 0)
		{
		    index = rand.Next(0, text.Length);
			newtext += text[index];
			text = text.Remove(index, 1);
		}
		return newtext;
	}
	string BuildPassword(string kleinbuchstaben, string großbuchstaben, string zahlen, string sonderzeichen,int length)
	{
	    string password = null;
	    string Kleinbuchstaben ="abcdefghijklmnopqrstuvwxyz";
		string Großbuchstaben = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		string Zahlen = "123456789"
		string Sonderzeichen = "@!§$%&/()=?*':;";
	    string alphabet = null;
		if(kleinbuchstaben == "y")
		    alphabet+= Kleinbuchstaben;
		if(großbuchstaben == "y")
		    alphabet+= Großbuchstaben;
		if(zahlen == "y")
		    alphabet+=Zahlen;
		if(sonderzeichen == "y")
		    alphabet+= Sonderzeichen
		alphabet = Shuffle(alphabet); //to make it more random
		Random rand = new Random();
		for(int i = 0; i < length;i++)
		{
		    password+= alphabet[rand.Next(0,alphabet.Length)];
		}
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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