更改设计和轨道3以使用bcrypt而不是sha

ers*_*ner 7 encryption ruby-on-rails sha bcrypt devise

我有一个rails 3生产应用程序,它使用设计来处理身份验证.我想更改为在应用程序上使用bcrypt而不是sha,但我找不到任何资源来解释从一个迁移到另一个的过程.我假设你需要有一些后备来处理这样一个事实,即目前的密码以某种方式被盐腌...

以前有人这样做过吗?!任何提示,教程,演练等?!

小智 3

我认为没有您想要的解决方案。我只知道两个选择 -

重置所有用户密码并向他们发送电子邮件告诉他们这已经完成(最好是为什么,这样他们就不会惊慌失措)

当每个用户登录时,检查您拥有的旧哈希系统,如果它有效,则在新列中创建一个新的 bcrypt 哈希,然后删除旧的、不太安全的哈希,并以这种方式开始缓慢的迁移。

创建一个彩虹表来移动每个人所需的数学能力是不可能的。