我们公司的安全审核发现我们的bcrypt哈希值的前缀是“$ 2a $”。根据[1]和[2],这可能表明使用了较旧的,易受攻击的bcrypt实现。
所以 - 我的问题在这里:
参考文献:
[1] http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html
[2] http://www.openwall.com/lists/oss-security/2011/06/21/16
答案 0 :(得分:3)
您提供的链接是关于BCrypt的C实现中的漏洞。 Spring Security实现是jBCrypt的分支,它是用Java编写的不同实现。
查看source code,从版本3.2.5开始,Spring Security不支持" $ 2x $"和" $ 2y $"前缀。该实现不包含C漏洞,但它不能与当前基于C的实现(如PHP)互操作。