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

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

Password
P@ssw0rd
Passw0rd123

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

【问题讨论】:

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

标签: c# regex asp.net-mvc password-policy


【解决方案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 进行交互相对于本地交互的优势在于,它会在新密码泄露发生时自动适应(无需部署等)。但是,老实说,这两种解决方案都很棒。
猜你喜欢
  • 2014-03-08
  • 2013-05-30
  • 1970-01-01
  • 2019-02-21
  • 2016-07-18
  • 2019-04-28
  • 2018-02-03
  • 1970-01-01
  • 2014-01-20
相关资源
最近更新 更多