Rails设计:验证时不要检查密码盐

时间:2011-06-30 16:17:57

标签: ruby-on-rails ruby-on-rails-3 passwords devise md5

我正在使用Devise作为身份验证方法将PHP站点迁移到Rails。旧站点使用md5(salt +密码)来验证用户,因此我编写了一个自定义Devise加密器:

module Devise
  module Encryptors
    class Md5 < Base
      def self.digest(password, stretches, pepper)
        Digest::MD5.hexdigest(password + 'the_salt_value')
      end
    end
  end
end

当我在新网站上使用密码“password”创建新用户时,散列密码与旧网站上的用户匹配,密码为“password”,这很好。但是,password_salt列中的值(我的目的不明确)是不同的,当我迁移数据库时,旧站点上的用户无法使用“password”登录。

处理这个问题的最佳方法是什么?有没有办法让Devise在验证时简单地比较encrypted_pa​​ssword列中的值?

0 个答案:

没有答案