Я перевожу сайт 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 при аутентификации?