【发布时间】:2014-01-09 16:22:36
【问题描述】:
this Stack Overflow question 已经回答了这个问题,但它不是 Grails 特有的,而且有点模糊。
我使用 Spring Security 设置了我的 Grails 应用程序,但显然没有获得最新版本,因为它默认为 SHA-256 而不是 bcrypt。现在,我有生产数据,其中的密码散列在一种似乎不太理想的方法中。
启用 bcrypt 哈希是小菜一碟:
Config.groovy > grails.plugins.springsecurity.password.algorithm = 'bcrypt'
但现在我需要应用程序将旧哈希值转换为新哈希值。从根本上说,我知道当用户登录时,我应该让应用程序检查密码是否为 SHA-256 哈希,如果是,请使用 bcrypt 重新哈希输入的密码。一段时间后,它们都将升级,并且可以删除该代码。
确定密码哈希是来自 SHA-256 还是 bcrypt 的实际代码是什么?
编辑
也就是说,我调用来获取哈希的实际函数是什么?我如何bcrypt(incomingpassword) 来查看它是否与现有的密码哈希匹配?
【问题讨论】:
标签: grails spring-security bcrypt jbcrypt