Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 密码强度检查库_Java_Passwords - Fatal编程技术网

Java 密码强度检查库

Java 密码强度检查库,java,passwords,Java,Passwords,谁能推荐一个Java库,其中包含适合在webapp中执行服务器端密码强度检查的方法。理想情况下,检查人员应: 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等 可扩展,允许在需要时实施新标准 用纯Java实现 没有从根本上与标签库、UI组件或“密码管理”功能交织在一起 与GPL3项目兼容 与弹簧接线兼容 mavenized(最好通过Maven Central提供) 看看: 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等-部分地(是可配置,字典,否加权标准) 可扩展,

谁能推荐一个Java库,其中包含适合在webapp中执行服务器端密码强度检查的方法。理想情况下,检查人员应:

  • 可配置,允许部署人员提供不同的字典,调整不同标准的权重,等等
  • 可扩展,允许在需要时实施新标准
  • 用纯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库。它不检查规则,而是计算密码熵,同时考虑常用密码列表。它没有依赖性。它在马文中心。它有麻省理工学院的执照。