【发布时间】:2014-01-16 14:16:56
【问题描述】:
我现在有一个 Grails Web 应用程序,它使用带有唯一盐的 SHA-256 将用户的密码存储在我的数据库中。我最近将 web 应用程序升级到了 Grails(2.3.4) 的最新版本的 Spring Security 插件 (2.0RC2)。新插件默认使用 BCrypt。我的问题是,哪个更好,他们为什么要切换到 BCrypt。我读过关于喜欢 BCrypt 和讨厌 BCrypt 的人的文章。我看到的一个直接专业人士是算法中内置了加盐,所以我不必单独存储盐。我还注意到您可以在 SHA-256 上设置迭代。根据我的阅读,很多人喜欢 BCrypt,因为您也可以为其设置迭代,但这与设置 SHA-256 的迭代有何不同?一个博客说 PBKDF2 是一个更好的选择,因为它已经过测试。但是我也听说过关于 BCrypt 的同样的事情......
【问题讨论】:
标签: grails web-applications encryption passwords cryptography