首页 > 解决方案 > 从 Wordlist 创建各种

问题描述

我想创建一个密码列表。

到目前为止,它有效,但我的列表只包含像D?t1g3+T%J.

现在我想创造更有意义的词。我有一个包含BananaDesk等单词的列表。如何随机更改拼写、添加数字和特殊字符?

例如:

“香蕉”->“baNana123”

标签: c#

解决方案


好吧,我刚刚想出了这个。

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


推荐阅读