module Clearance::PasswordStrategies::SHA1

Public Instance Methods

authenticated?(password) click to toggle source
# File lib/clearance/password_strategies/deprecated/sha1.rb, line 7
def authenticated?(password)
  encrypted_password == encrypt(password)
end
password=(new_password) click to toggle source
# File lib/clearance/password_strategies/deprecated/sha1.rb, line 11
def password=(new_password)
  @password = new_password
  initialize_salt_if_necessary

  if new_password.present?
    self.encrypted_password = encrypt(new_password)
  end
end

Private Instance Methods

encrypt(string) click to toggle source
# File lib/clearance/password_strategies/deprecated/sha1.rb, line 22
def encrypt(string)
  generate_hash "--#{salt}--#{string}--"
end
generate_hash(string) click to toggle source
# File lib/clearance/password_strategies/deprecated/sha1.rb, line 26
def generate_hash(string)
  Digest::SHA1.hexdigest(string).encode "UTF-8"
end
generate_salt() click to toggle source
# File lib/clearance/password_strategies/deprecated/sha1.rb, line 36
def generate_salt
  SecureRandom.hex(20).encode("UTF-8")
end
initialize_salt_if_necessary() click to toggle source
# File lib/clearance/password_strategies/deprecated/sha1.rb, line 30
def initialize_salt_if_necessary
  if salt.blank?
    self.salt = generate_salt
  end
end