1

我想对 Devise::TokenGenerator 使用 md5 而不是 sha256 。正确的方法是什么?

4

1 回答 1

1

实现你自己的加密器。

# lib/devise/encryptors/md5.rb
require 'digest/md5'

module Devise
  module Encryptors
    class Md5 < Base
      def self.digest(password, stretches, salt, pepper)
        str = [password, salt].flatten.compact.join
        Digest::MD5.hexdigest(str)
      end
    end
  end
end

然后,您可以将其设置为您的加密器config/initializers/devise.rb

config.encryptor = :md5

不要忘记在您的用户模型中启用 :encryptable 。

此外,您应该确保新文件已加载,例如将其添加到用户的类中:

require Rails.root.join('lib', 'devise', 'encryptors', 'md5')
于 2014-11-03T12:49:03.270 回答