Hallo ich programmiere gerade an einem Passwort generator der mir alle möglichen Passwörter in eine txt Datei schreibt. Jedoch kommt es vor das sich ein Passwort wiederholt und ein anderes gar nicht vorkommt.
Da ist der Code den ich dann in eine For- Schleife hineingebe die dann 26^5 mal läuft wenn ich nur mit kleinbuchstaben Passwörter mit der Länge 5 generieren möchte.
Code:
private static readonly Random CommonRandom = new Random();
public static string generatePassword(int passwordLength, string characters, bool canRepeatCharacters = false)
{
char[] chars = characters.ToCharArray();
string randomPassword = string.Empty;
for (int l = 0; l < passwordLength; l++)
{
int x = CommonRandom.Next(1, chars.Length);
if (canRepeatCharacters || !randomPassword.ToCharArray().Any(ch => ch == chars[x]))
randomPassword += chars[x].ToString();
else
l--;
}
return randomPassword;
}