Rails Devise: не проверяйте соль пароля при аутентификации - PullRequest
1 голос
/ 30 июня 2011

Я перевожу сайт PHP на Rails, используя Devise в качестве метода аутентификации.Старый сайт использует md5 (соль + пароль) для аутентификации пользователей, поэтому я написал собственный шифратор 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_salt, назначение которых мне неясно, отличаются, и пользователь на старом сайте не может войти в систему с «паролем» при переносе базы данных через.

Что лучшеспособ справиться с этой проблемой?Есть ли способ заставить Devise просто сравнивать значения в столбце encrypted_password при аутентификации?

...