c# - 从 Wordlist 创建各种
问题描述
我想创建一个密码列表。
到目前为止,它有效,但我的列表只包含像D?t1g3+T%J
.
现在我想创造更有意义的词。我有一个包含Banana、Desk等单词的列表。如何随机更改拼写、添加数字和特殊字符?
例如:
“香蕉”->“baNana123”
解决方案
好吧,我刚刚想出了这个。
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
推荐阅读
- python - 在 Pandas DataFrame 中加载 .txt 文件,并在文本之间添加分隔线。
- .net - MSXML2.ServerXMLHTTP.6.0 发送请求 - 与服务器的连接异常终止 - win7
- javascript - 在页面上将文本插入 iFrame(从 iframe 外部复制)
- python - 使用 --onefile 选项在 PyInstaller 上捆绑 CEFpython
- android - Android BiometricPrompt 兼容库
- inequality - 满足 (a+b)^t <= C(a^t+b^t) 的最佳常数 C 是多少?
- java - 计算 3d 中 SAT 碰撞的法线向量时出错
- javascript - 如何使用ie11在threejs中加载gltf场景
- sql - 字符串比较的意外结果
- css - 使用基础的垂直居中菜单