C# :: Aufgabe #77 :: Lösung #4
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.
#4

von Bacon2008 (260 Punkte)
- 27.01.2015 um 14:41 Uhr

/* * Erstellt mit SharpDevelop. * Benutzer: especk * Datum: 27.01.2015 * Zeit: 09:32 * * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern. */ using System; using System.Collections.Generic; namespace Passwortgenerator { class Program { public static string Parameter(string parameter) { Console.WriteLine("Geben Sie bitte folgende parameter ein: "); Console.WriteLine(""); Console.WriteLine("Kleinbuchstaben:\t1"); Console.WriteLine("Großbuchstaben:\t\t2"); Console.WriteLine("Ziffern:\t \t3"); Console.WriteLine("Sonderzeichen:\t\t4"); Console.WriteLine(""); try { parameter = Console.ReadLine(); if(parameter.Length > 4 || parameter.Length < 1){ Console.WriteLine("Falsche bzw. keine Parameterangabe"); Console.ReadKey(true); Environment.Exit(0);} return parameter; } catch (Exception) { Console.WriteLine("Falsche Parameterangabe!"); parameter = ""; Console.ReadKey(true); Environment.Exit(0);return parameter; } } public static int Laenge(int laenge) { Console.WriteLine("Geben Sie die Passwortlänge (max 25 Zeichen) ein:"); try { laenge = Convert.ToInt16(Console.ReadLine()); if (laenge > 25 || laenge < 1) { Console.WriteLine("Falsche Längenangabe!"); Console.ReadKey(true); Environment.Exit(0);; } return laenge; } catch (Exception) { Console.WriteLine("Falsche Längenangabe!"); laenge = 0; Console.ReadKey(true); Environment.Exit(0);return laenge; } } public static char[] PasswortZeichenArray(string parameter, int laenge) { string klein = "abcdefghijklmnopqrstuvwxyz"; string groß ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string zahl ="0123456789"; string zeichen = "!$§%&/()=?/*-+"; string par1 = "1"; string par2 = "2"; string par3 = "3"; string par4 = "4"; int test=0; int test1; int test2=0; int test3=0; int test4=0; for (int i = 0; i < parameter.Length; i++) { test1=parameter.IndexOf(par1,i); if(test1>=0){test=1;} test1=parameter.IndexOf(par2,i); if(test1>=0){test2=2;} test1=parameter.IndexOf(par3,i); if(test1>=0){test3=3;} test1=parameter.IndexOf(par4,i); if(test1>=0){test4=4;} } char[] kleinArray = klein.ToCharArray(); char[] großArray = groß.ToCharArray(); char[] zahlArray = zahl.ToCharArray(); char[] sonderArray = zeichen.ToCharArray(); List<char> zeichenListe = new List<char>(); if(test == 1){ for (int i = 0; i < kleinArray.Length; i++) { zeichenListe.Add(kleinArray[i]); } } if(test2 == 2){ for (int i = 0; i < großArray.Length; i++) { zeichenListe.Add(großArray[i]); } } if(test3 == 3){ for (int i = 0; i < zahlArray.Length; i++) { zeichenListe.Add(zahlArray[i]); } } if(test4 == 4){ for (int i = 0; i < sonderArray.Length; i++) { zeichenListe.Add(sonderArray[i]); } } Random random = new Random(); int listenLänge = zeichenListe.Count; char[] passwortArray = new char[laenge]; for (int i = 0; i < laenge; i++) { int zufallsZahl = random.Next(1,listenLänge); passwortArray[i] = zeichenListe[zufallsZahl]; } return passwortArray; } public static void Main(string[] args) { Console.WriteLine("Passwortgenerator"); Console.WriteLine(""); string parameter=""; parameter = Parameter(parameter); int laenge = 0; laenge = Laenge(laenge); Console.WriteLine(""); char[] passwort = PasswortZeichenArray(parameter, laenge); foreach (char element in passwort) { Console.Write(element); } Console.WriteLine(""); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1