class Sequel::Plugins::Password::SHA1Hasher

SHA1Hasher implements a SHA1 password hasher.

@deprecated This hasher is present only for backward compatibility.

Public Class Methods

new() click to toggle source
# File lib/sequel_password/hashers.rb, line 128
def initialize
  @algorithm = :sha1
  @digest = OpenSSL::Digest::SHA1.new
end

Public Instance Methods

encode(password, salt) click to toggle source
# File lib/sequel_password/hashers.rb, line 133
def encode(password, salt)
  hash = @digest.digest(salt + password).unpack('H*').first
  "#{@algorithm}$#{salt}$#{hash}"
end
verify(password, encoded) click to toggle source
# File lib/sequel_password/hashers.rb, line 138
def verify(password, encoded)
  _, salt, = encoded.split('$', 3)
  hash = encode(password, salt)
  constant_time_compare(encoded, hash)
end