首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bcrypt-ruby升级密码从hashed_password字段,salt到password_digest字段

bcrypt-ruby升级密码从hashed_password字段,salt到password_digest字段
EN

Stack Overflow用户
提问于 2014-07-03 20:37:50
回答 1查看 210关注 0票数 0

我计划将我的rails应用程序从2.3.5升级到4.1。

在老版本的rails中,bcrypt-ruby有两个字段(hashed_password,salt)。

现在,在最新版本的rails中,我们只有一个名为password_digest的字段。

现在,我需要将现有用户的密码从hashed_password、salt更新为password_digest字段。

所以我正在计划是否有任何过程或算法来迁移现有的用户密码。

示例:

1) hashed_password: d83894e27821bd43eeb7a0001037329e1ddfe28a 2)盐: 701260468044000.6918523640121411

现在我们需要更改为

3) password_digest : 666699d998933300.6918d83894e2782e1ddfe28a

现在,如果用户使用他的密码登录,它应该允许登录。

注意:我没有使用任何像authlogic或devise这样的身份验证工具。我使用的是使用bcrypt-ruby的纯rails身份验证

EN

回答 1

Stack Overflow用户

发布于 2014-07-04 02:00:24

您可以直接使用BCrypt来升级现有的pass_hash和salt:

代码语言:javascript
复制
def migrate_password(hashed_password, salt)
  Password.new(BCrypt::Engine.hash_secret(hashed_password,salt))
end

您可以像这样使用它:

代码语言:javascript
复制
salt = 701260468044000.6918523640121411
secret = "d83894e27821bd43eeb7a0001037329e1ddfe28a"
password_digest = migrate_password(secret, salt)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24553904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档