将密码哈希从SHA转换为bcrypt



这个问题已经在这个Stack Overflow问题中得到了回答,但它不是Grails特有的,也有点模糊。

我用Spring Security设置了我的Grails应用程序,但显然没有得到最新版本,因为它默认为SHA-256而不是bcrypt。现在我有了带密码的生产数据,这似乎是一种不太理想的方法。

启用bcrypt哈希是小菜一碟:

Config.groovy > grails.plugins.springsecurity.password.algorithm = 'bcrypt'

但现在我需要这个应用程序将旧的哈希转换为新的哈希。从根本上说,我知道当用户登录时,我应该让应用程序检查密码是否是SHA-256哈希,如果是,请用bcrypt重新哈希输入的密码。过一段时间,它们将全部升级,并且可以删除这些代码。

但是,用于确定密码哈希是来自SHA-256还是来自bcrypt的实际代码是什么?

编辑

也就是说,我调用的实际函数是什么来获得哈希?如何bcrypt(incomingpassword)查看它是否与现有密码哈希匹配?

bcrypt密码将以"$2a$10$"开头,长度为60个字符。SHA-256没有模式,但它将有64个字符长。

相关内容

  • 没有找到相关文章

最新更新