我有一个 rails 3 生产应用程序,它使用 devise 来处理身份验证。我想更改为在应用程序上使用 bcrypt 而不是 sha,但我找不到任何资源来解释从一个迁移到另一个的过程。我假设您需要采取某种方式来处理这样一个事实,即目前的密码以某种方式用 sha...
以前有人这样做过吗?!任何提示,教程,演练等?!
最佳答案
我认为没有您想要的解决方案。我只知道两种选择——
重置所有用户密码并通过电子邮件告诉他们这已经完成(最好是为什么这样他们就不会吓坏了)
当每个用户登录时,检查您拥有的旧哈希系统,如果验证通过,则在新列中创建新的 bcrypt 哈希,然后删除旧的、安全性较低的哈希并以这种方式开始缓慢迁移。
创建彩虹表以移动每个人所需的数学能力是不太可能的。
关于ruby-on-rails - 更改设计和 rails 3 以使用 bcrypt 而不是 sha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4470091/