通过普通快递的密码强度? [复制]

Posted

技术标签:

【中文标题】通过普通快递的密码强度? [复制]【英文标题】:Password strength via regular express? [duplicate] 【发布时间】:2013-05-12 13:04:52 【问题描述】:

我想在 ASP.NET 成员中使用正则表达式。下面的正则表达式是什么?

至少 8 个字符 至少包含一个大写字母 一个小写字母 一个号码

【问题讨论】:

如果你也有兴趣做那个客户端,这可能会让你感兴趣:***.com/questions/1388609/… 你实际上可以使用这个线程中写的表达式的不同部分,并在你的服务器上逐渐检查密码强度一边。 【参考方案1】:

试试这个..

^((?=.*\d)(?=.*[A-Z])(?=.*[a-z]).8,)  

【讨论】:

【参考方案2】:

你可以使用类似的东西:

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d=:;<>,~!@#\\$%/^&)(\[\]+-]8,$

测试它here。 您可能还想了解“?=”这件事,它被称为“积极前瞻”here。 简而言之,当所有三个前瞻(.*\d.*[a-z].*[A-Z])都匹配(并被丢弃)时,主正则表达式 [a-zA-Z\d=:;&lt;&gt;,~!@#\\$%/^&amp;)(\[\]+-]8, 也可以匹配。

【讨论】:

为什么要限制有效字符?那不在规范中。另外,你的解释不正确。前瞻不遵循正则表达式匹配。 部分同意,但并非所有字符都有效。我们没有有效的字符列表,所以我设置了最严格的限制。我没有说前瞻遵循正则表达式匹配。我会努力纠正误解) 所以你想强制用户使用不太安全的密码?为什么? 我的决定是基于未知的存储限制,并且这是一个示例。可能只是“.8,”,或者他可以添加他想要被允许的特殊字符。 按照 Tim Pietzcker 的建议添加了更多允许的字符。【参考方案3】:

您必须在一个正则表达式中执行此操作吗?我会将这些规则中的每一个都设为一个正则表达式,并单独测试它们。我怀疑你的代码最终会变得更简单,你会为自己和维护你的应用程序的人省去一些麻烦。

【讨论】:

我明白你在说什么......问题是这是一个软件系统的文本框字段。

以上是关于通过普通快递的密码强度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

利用JavaScript来实现用动态检验密码强度

Python小实验——密码强度

确定 HTTPS apache 连接使用的密码强度

密码强度计[关闭]

密码强度计[关闭]

密码强度