C# :: Aufgabe #77 :: Lösung #6
14 Lösungen

#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.
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.
#6

von Sebastian89 (80 Punkte)
- 26.02.2015 um 12:56 Uhr
Funktionalität für ein Zufälliges Passwort ohne irreführende Zeichen wie I und l.
C#-Code

void Main() { GeneratePassword(16, PasswordType.UpperLetter | PasswordType.LowerLetter | PasswordType.Numerics | PasswordType.SpecialCharacter).Dump(); } public string GeneratePassword(int length, PasswordType type) { char[] upperLetter = new[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; char[] lowerLetter = new[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'm', 'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; char[] numeris = new[] { '2', '3', '4', '5', '6', '7', '8', '9' }; char[] specialCharacters = new[] { '!', '$', '%', '#', '?', '+', '-', '*', '/', '_', ':', '.' }; string password = string.Empty; List<char[]> allowedCharacters = new List<char[]>(); if ((type & PasswordType.UpperLetter) == PasswordType.UpperLetter) allowedCharacters.Add(upperLetter); if ((type & PasswordType.LowerLetter) == PasswordType.LowerLetter) allowedCharacters.Add(lowerLetter); if ((type & PasswordType.Numerics) == PasswordType.Numerics) allowedCharacters.Add(numeris); if ((type & PasswordType.SpecialCharacter) == PasswordType.SpecialCharacter) allowedCharacters.Add(specialCharacters); Random random = new Random(); for (int i = 0; i < length; i++) { char[] characters = allowedCharacters[random.Next(0, allowedCharacters.Count)]; password += characters[random.Next(0, characters.Length)].ToString(); } return password; } [Flags] public enum PasswordType { UpperLetter = 0x01, LowerLetter = 0x02, Numerics = 0x04, SpecialCharacter = 0x08 }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1