我想创建一个密码列表。
到目前为止,它仍然有效,但我的列表仅包含D?t1g3+T%J
之类的单词。
现在,我想更有意义地创建单词。 我有一个包含香蕉,服务台之类的单词的列表。 如何随机更改拼写,添加数字和特殊字符?
例如:
“香蕉”->“ baNana123”
答案 0 :(得分:0)
好吧,我刚刚想到了这个。
string foo = "banana";
List<string> chars = new List<string>();
Random rnd = new Random();
string newPassword = "";
for (int i = 0; i < foo.Length; i++)
{
chars.Add(foo[i].ToString());
}
foreach (var boo in chars)
{
var randomNum = rnd.Next(0, 2);
Debug.WriteLine(randomNum);
if (randomNum == 0)
{
newPassword = newPassword + boo.ToUpper();
}
else
{
newPassword = newPassword + boo.ToLower();
}
}
Debug.WriteLine(newPassword);
它的作用:1)将字符串(在我的情况下为“香蕉”)分成单个字符
2)为每个字符程序随机生成1或0。基于此,我只是将其转换为小写或大写。
您所要做的就是为算法提供字符串。最后,我可以执行类似的操作。
int howMany = rnd.Next(1, 20); //1 to 19 numbers, you can set that manually
for (int i = 0; i < howMany; i++)
{
newPassword = newPassword + rnd.Next(0, 10);
}
Debug.WriteLine(newPassword);
对我来说最后的结果:BanANA6469242684