public class PassGen
{
//Feld: Standartlänge des Passwortes
/// <summary>
/// Enthält die Länge des gewünschten Passwortes
/// </summary>
/// <remarks>Der default Wert ist acht.</remarks>
private int mLaenge =
8;
//Feld: Alle möglichen Zeichen die verwendet werden können nur Buchstaben
/// <summary>
/// Beinhaltet alle Möglichen Zeichen, die für das Passwort verwendet werden können und dürfen.
/// </summary>
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
/// <summary>
/// Hier wird das Passwort gespeichert.
/// </summary>
private string mOutput;
//Eigenschaft: setzt oder liest die länge
/// <summary>
/// Get-Set der Länge des Passwortes
/// </summary>
public int Laenge
{
get
{
return mLaenge;
}
set
{
mLaenge = value;
}
}
//Eigenschaft: nur lesen des Outputs erlaubt
/// <summary>
/// Get-Set des Passwortes.
/// </summary>
public string Output
{
get
{
return mOutput;
}
set
{
}
}
//Case 1
/// <summary>
/// Generiert das Passwort aus den Zeichen 0 - 9
/// </summary>
/// <returns>Kein Rückgabewert</returns>
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
/// <summary>
/// Generiert ein Passwort aus den Zeichen A - z und 0 - 9
/// </summary>
/// <returns>Kein Rückgabewert</returns>
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
/// <summary>
/// Generiert ein Passwort bestehend aus den Zeichen A - z
/// </summary>
/// <returns>Kein Rückgabewert</returns>
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;
}
}
}