public class PassGen { //Feld: Standartlänge des Passwortes /// /// Enthält die Länge des gewünschten Passwortes /// /// Der default Wert ist acht. private int mLaenge = 8; //Feld: Alle möglichen Zeichen die verwendet werden können nur Buchstaben /// /// Beinhaltet alle Möglichen Zeichen, die für das Passwort verwendet werden können und dürfen. /// protected string[] mChars = { "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z", "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "1","2","3","4","5","6","7","8","9","0" }; //Feld: Outputvariable in die die Ausgabe gespeichert wird /// /// Hier wird das Passwort gespeichert. /// private string mOutput; //Eigenschaft: setzt oder liest die länge /// /// Get-Set der Länge des Passwortes /// public int Laenge { get { return mLaenge; } set { mLaenge = value; } } //Eigenschaft: nur lesen des Outputs erlaubt /// /// Get-Set des Passwortes. /// public string Output { get { return mOutput; } set { } } //Case 1 /// /// Generiert das Passwort aus den Zeichen 0 - 9 /// /// Kein Rückgabewert private void GenPassNum() { int iPoint = 0; //Variable in der die Zufallszahl gespeichert wird Random rand1 = new Random(); //Erstellen der Instanz for (int i = 0; i < mLaenge; i++) //Solange bis die Länge erreicht ist { iPoint = rand1.Next(52, 62); //Zufallszahl zwischen 52u.61 generieren da die Zaheln im Array an der Position stehen if (mChars[iPoint] == "")//Falls das Array element leer ist zälen ich eins zurück um das Passwort trotzdem in voller länge zu erhalten { i--; //MINUS 1 } else { mOutput += mChars[iPoint]; //Hier hänge ich das jeweilige Zeichen an mein Outputfeld } } } //Case 2 /// /// Generiert ein Passwort aus den Zeichen A - z und 0 - 9 /// /// Kein Rückgabewert private void GenPassAlphNum() { int iPoint = 0; Random rand2 = new Random(); for (int i = 0; i < mLaenge; i++) { int modulo = i % 2; if (modulo == 0) { iPoint = rand2.Next(0, 52); if (mChars[iPoint] == "") { i--; } else { mOutput += mChars[iPoint]; } } else { iPoint = rand2.Next(52, 62); if (mChars[iPoint] == "") { i--; } else { mOutput += mChars[iPoint]; } } } } //Case 3 /// /// Generiert ein Passwort bestehend aus den Zeichen A - z /// /// Kein Rückgabewert private void GenPassAlph() { int iPoint = 0; Random rand3 = new Random(); for (int i = 0; i < mLaenge; i++) { iPoint = rand3.Next(0, 52); if (mChars[iPoint] == "") { i--; } else { mOutput += mChars[iPoint]; } } } //Methode die anhand des Integer Wertes iCase die richtige Methode zur generierung auffruft public void GenPassNow(int iCase) { switch (iCase) { case 1: GenPassNum(); break; case 2: GenPassAlphNum(); break; case 3: GenPassAlph(); break; } } }