识别密码验证的单词变体[关闭]

Posted

技术标签:

【中文标题】识别密码验证的单词变体[关闭]【英文标题】:Identify Variations of Words for Password Validation [closed] 【发布时间】:2019-04-11 13:39:37 【问题描述】:

我想在我的 asp.net 应用程序中注册时拒绝错误密码(或其变体)。例如:

Password
P@ssw0rd
Passw0rd123

我没有使用内置的 ASP.NET 身份功能,因此我无法使用这些标准验证工具。我可以使用正则表达式,还是可以建议其他一些现有的包或工具来确保我的用户使用强密码? TIA。

【问题讨论】:

troyhunt.com/… 过滤弱密码是个好主意。您可能还想阅读 Peter Gutmann 的 Engineering Security,第 7 章,密码。他提供了很多关于密码系统的完善的安全工程。要回答您的问题,基于compromised password lists 的布隆过滤器效果很好。过滤器很小——百万字密码列表大约 40 或 60 KB。 【参考方案1】:

而不是像这样测试“错误密码”,您真的希望使用已知的错误密码列表:例如Pwned Passwords。

这是一个 ASP.NET 实现示例,可以帮助您入门https://github.com/MatrixsoftIN/PwnedPasswords

请记住,您不希望将用户的密码发送到外部站点进行验证(从而破坏他们对您的信任)。这就是为什么上述服务allows you to send a partial hash of the password 改为匿名验证密码的服务。不错哦!?

【讨论】:

他也可以在本地完成。在 Peter Gutmann 的 Engineering Security 上查看针对弱密码列表的 Bloom Filters 的讨论。 PwnedPasswords 进行交互相对于本地交互的优势在于,它会在新密码泄露发生时自动适应(无需部署等)。但是,老实说,这两种解决方案都很棒。

以上是关于识别密码验证的单词变体[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

完整版的密码爆破,自动识别验证码,Python福利!

“用户验证失败:密码:需要路径‘密码’。” [关闭]

在没有 JQuery 的情况下验证密码和确认密码 [关闭]

禁用 SSH 的密码验证 [关闭]

PayPal如何关闭登录验证码

如何为经过验证的行为电子邮件和丢失密码计时器编写 cron 作业脚本? [关闭]