首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码生成器代码

密码生成器代码
EN

Stack Overflow用户
提问于 2011-03-09 08:46:13
回答 6查看 22.6K关注 0票数 13

我正在做一个C#项目,在那里我需要生成随机密码。

有人能提供一些代码或高级方法来生成密码吗?

应该可以具体说明以下几点:

  1. 最小密码长度
  2. 最大密码长度
  3. 有效大写字符
  4. 大写字符的最小数目
  5. 有效小写字符
  6. 最低小写字符数
  7. 有效数字字符
  8. 数字字符的最小数目
  9. 有效的铝粉。
  10. 铝粉的最低数量
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-09 08:56:39

我在几年前写了一个简单的数据生成库来模拟我们需要的一些数据,您可以看看这个来获得一些想法。您将为它提供要生成的模式,它将创建与该模式匹配的随机数据。

模式如下:

  • * -大写或小写字母或数字。
  • L -大写字母.
  • l -小写字母.
  • V -大写元音.
  • v -a小写元音.
  • C -一个大写辅音.
  • c -小写辅音.
  • X -任意数字,0-9.
  • x -任意数字,1-9.

这不完全是你想要的,但你应该能够修改它,以适应你的需要。

这是主要的逻辑。

编辑:再次阅读您的需求,我认为您应该能够修改我的代码以使其工作。您需要创建一个模式,该模式与有效密码的最小字符/数字要求相匹配,添加逻辑,通过添加随机字符来改变生成密码的长度,或者在末尾添加一些随机排序逻辑,以便将字符混合起来,使它们不总是在相同的模式中。

编辑(2):将代码移动到GitHub,更新链接。

编辑(3):链接到主Github回购。

票数 5
EN

Stack Overflow用户

发布于 2011-03-09 08:49:48

您可以使用此方法并根据需要进行修改。

代码语言:javascript
复制
private static string CreateRandomPassword(int passwordLength)
{
 string allowedChars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789!@$?_-";
 char[] chars = new char[passwordLength];
 Random rd = new Random();

 for (int i = 0; i < passwordLength; i++)
 {
  chars[i] = allowedChars[rd.Next(0, allowedChars.Length)];
 }

 return new string(chars);
}
票数 26
EN

Stack Overflow用户

发布于 2011-03-09 08:49:21

你看过代码项目的例子了吗?

http://www.codeproject.com/KB/cs/pwdgen.aspx

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5243237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档