class Devise::Encryptors::Sha1

Uses the Sha1 hash algorithm to encrypt passwords.
= Sha1

def self.digest(password, stretches, salt, pepper)

incoming password.
Generates a default password digest based on stretches, salt, pepper and the
def self.digest(password, stretches, salt, pepper)
  digest = pepper
  stretches.times { digest = self.secure_digest(salt, digest, password, pepper) }
  digest
end

def self.secure_digest(*tokens)

--arg1--arg2--arg3--argN--
Generate a SHA1 digest joining args. Generated token is something like
def self.secure_digest(*tokens)
  ::Digest::SHA1.hexdigest('--' << tokens.flatten.join('--') << '--')
end