我的密码生成器有问题。
var listOfCharacters = "abcdefghijklmnopqrstuvwxyz"
chars = listOfCharacters.ToCharArray();
} // RB: I've reformatted the code, but left this brace in.
// I think it should be removed though...
string password = string.Empty;
for (int i = 0; i < length; i++) // length = 64
{
int x = random.Next(0, chars.Length); // chars.Lenght = 26
if (!password.Contains(chars.GetValue(x).ToString()))
password += chars.GetValue(x);
else
i--;
}
if (length < password.Length) password = password.Substring(0, length); //stucks here at 26 because all the 26 chars from the list are used one time so there are no more chars to use, but i want to use a char more than one time
return password;
我的问题是:当我想创建一个包含 64 个字符的密码并且我使用示例 26 中的字符列表时,他在 26 处停止生成,因为他只从列表中取出所有 26 个字符一次。我需要在我上面的代码中使用一个多于一个字符的方法,因此不仅每个字符只有 1 次,而且例如他可以使用字母“a”3 次。