Для этого у вас должна быть модель с полями:
Hashed_password
Salt
И вам нужно знать метод user для хэширования пароля (здесь я использую SHA1)
Затем вы можете определить в вашем контроллере:
def self.encrypted_password(password, salt)
string_to_hash = password + "wibble" + salt
Digest::SHA1.hexdigest(string_to_hash)
end
Далее вы можете сравнить:
user.Hashed_password == encrypted_password(password, user.salt)
Истина означает, что «пароль» - это пароль пользователя «пользователь»