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

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.
#1
3x
vote_ok
von eulerscheZhl (5230 Punkte) - 29.11.2014 um 10:12 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Text;

namespace trainYourProgrammer
{
	class MainClass
	{
		private static string createPassword(bool lowerCase, bool upperCase, bool digits, bool 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 [r.Next (alphabet.Length)]);
			return result.ToString ();
		}

		static void Main(string[] args)
		{
			Console.Write ("Länge des Passworts: ");
			int length = int.Parse (Console.ReadLine ());
			Console.Write ("Großbuchstaben verwenden (j/n): ");
			bool upperCase = Console.ReadLine () == "j";
			Console.Write ("Kleinbuchstaben verwenden (j/n): ");
			bool lowerCase = Console.ReadLine () == "j";
			Console.Write ("Ziffern verwenden (j/n): ");
			bool digits = Console.ReadLine () == "j";
			Console.Write ("Sonderzeichen verwenden (j/n): ");
			bool specialChars = Console.ReadLine () == "j";
			Console.WriteLine (createPassword (lowerCase, upperCase, digits, specialChars, length));
		}
	}
}

Kommentare:

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

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