module Devise::Encryptor

Public Class Methods

compare(klass, encrypted_password, password) click to toggle source
# File lib/devise/encryptor.rb, line 12
def self.compare(klass, encrypted_password, password)
  return false if encrypted_password.blank?
  bcrypt   = ::BCrypt::Password.new(encrypted_password)
  if klass.pepper.present?
    password = "#{password}#{klass.pepper}"
  end
  password = ::BCrypt::Engine.hash_secret(password, bcrypt.salt)
  Devise.secure_compare(password, encrypted_password)
end
digest(klass, password) click to toggle source
# File lib/devise/encryptor.rb, line 5
def self.digest(klass, password)
  if klass.pepper.present?
    password = "#{password}#{klass.pepper}"
  end
  ::BCrypt::Password.create(password, cost: klass.stretches).to_s
end