识别密码验证的单词变体[关闭]
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
进行交互相对于本地交互的优势在于,它会在新密码泄露发生时自动适应(无需部署等)。但是,老实说,这两种解决方案都很棒。以上是关于识别密码验证的单词变体[关闭]的主要内容,如果未能解决你的问题,请参考以下文章