繁体   English   中英

迁移要由Bcrypt加密的SHA1盐腌哈希

[英]Migrate SHA1 Salted Hashes To Be Encrypted by Bcrypt

我有一个旧应用程序(建立在.Net C#上),其中包括带有哈希密码sha1(password . salt) )的Users表,并且我需要将该数据安全地迁移到我的新Rails应用程序(该应用程序已经使用bcrypt-ruby gem加密了密码)和寻找最佳解决方案, 但避免以下类型的解决方案:

  1. 重置当前所有用户的密码,并强制他们继续执行“忘记密码”过程
  2. 使用任何类型的纯文本密码(例如,即使在用户首次登录我的新应用程序时也是临时的)。
  3. 在Rails应用程序中也使用SHA1相同的加密过程(我需要改用BCrypt)。

我认为最好的方法(如我所读)是让用户使用旧密码(我不知道该怎么做)登录我的新应用,然后(通过BCrypt)加密密码并遵循与在Rails应用程序中新注册用户的密码加密相同的过程。

感谢所有解决此问题的建议解决方案。

您走在正确的轨道上。 你需要...

  • 在Rails应用程序的Users表中添加一个sha1_password字段。
  • 修改身份验证为...
    • 检查他们的bcrypt密码(如果存在)。
    • 如果sha1_password的新bcrypt密码字段为空,请检查。
    • 如果有匹配项,您就知道他们正在迁移,并且也有他们的纯文本密码。
    • 设置他们的crypt密码字段。
  • 结束。

这将使您的用户能够随着时间的推移进行迁移。 然后,在某个时候,您决定将其余的设置为“重设密码”路线,或者至少开始用电子邮件来烦扰它们,并最终将其完全加密。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM