Java 密码强度检查库
谁能推荐一个Java库,其中包含适合在webapp中执行服务器端密码强度检查的方法。理想情况下,检查人员应:Java 密码强度检查库,java,passwords,Java,Passwords,谁能推荐一个Java库,其中包含适合在webapp中执行服务器端密码强度检查的方法。理想情况下,检查人员应: 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等 可扩展,允许在需要时实施新标准 用纯Java实现 没有从根本上与标签库、UI组件或“密码管理”功能交织在一起 与GPL3项目兼容 与弹簧接线兼容 mavenized(最好通过Maven Central提供) 看看: 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等-部分地(是可配置,字典,否加权标准) 可扩展,
- 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等
- 可扩展,允许在需要时实施新标准
- 用纯Java实现
- 没有从根本上与标签库、UI组件或“密码管理”功能交织在一起
- 与GPL3项目兼容
- 与弹簧接线兼容
- mavenized(最好通过Maven Central提供)
- 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等-部分地(是可配置,字典,否加权标准)
- 可扩展,允许在需要时实施新标准-是
- 用纯Java实现-是(和体面的javadoc)
- 没有从根本上与标签库、UI组件或“密码管理”功能交织在一起-Yes
- 与GPL 3项目兼容—是(2013年11月LGPLv3/APLv2双重许可)
- 与弹簧接线兼容-看起来像
- mavenized(最好通过Maven Central提供)是(自3.0版起在Central中提供)
更新者@Stephen C 自从最初回答这个问题以来,使用vt密码的人已经对API做了很多改进,其中一个结果是使用Spring IoC配置类要容易得多。他们还将其上传至Maven Central:
2020年更新:vt密码被替换了,有点像,被替换了。这是一个后续的回答,我确实使用了vt密码,我对结果很满意 我从vt password 2.0版开始,对其进行了一些黑客攻击,使其能够与Spring wiring一起工作,并解决了我在对@Pascal答案的评论中提到的线程安全问题。那就足够继续下去了
几周前,vt中间件团队发布了vt password 3.0,这在很大程度上是基于我对2.0的反馈。这个新版本解决了所有我曾经破解过的问题,现在我已经抛弃了我的本地MOD,使用vt password 3.0原样。他们还将自己的资料上传到Maven Central,并改进了在线文档。虽然我现在不关心这个话题,但这是一个非常好的答案+1@Stephen:不客气@丹尼尔:谢谢,很高兴你发现它(可能)也有帮助。有两点:1)规则是可配置的,但不直接支持通过XML或属性文件进行配置。2) 规则对象具有可变状态(!?!),并且不是线程安全的。3) 有些规则在通过SpringIOC连接时存在API障碍,更重要的是在复制规则时存在API障碍。不过我还是要坚持下去。@Stephen有趣的反馈,谢谢。请注意,vt密码现在(某种程度上)是如何使用vt密码计算密码强度的?我看不到有任何东西可以让你在验证过程中权衡不同的标准或获得“强度”度量。还是你放弃了这个要求?我想我可以使用不同的规则值多次运行验证,并以某种方式找到一个优势,但这似乎太过分了。@Tauren-事实上我放弃了这个要求。哦,我希望你能找到一个简单的解决方案。我也放弃了这个要求。也许我会在将来讨论密码强度。你可能会发现这篇文章很有用-这可能很简单,但可能很有用。我找到了一个JavaScript库。它不检查规则,而是计算密码熵,同时考虑常用密码列表。它没有依赖性。它在马文中心。它有麻省理工学院的执照。