Class: Devise::Encryptable::Encryptors::Sha512
- Defined in:
- lib/devise/encryptable/encryptors/sha512.rb
Overview
Sha512
Uses the Sha512 hash algorithm to encrypt passwords.
Class Method Summary collapse
-
.digest(password, stretches, salt, pepper) ⇒ Object
Generates a default password digest based on salt, pepper and the incoming password.
-
.secure_digest(*tokens) ⇒ Object
Generate a Sha512 digest joining args.
Methods inherited from Base
Class Method Details
.digest(password, stretches, salt, pepper) ⇒ Object
Generates a default password digest based on salt, pepper and the incoming password.
11 12 13 14 15 |
# File 'lib/devise/encryptable/encryptors/sha512.rb', line 11 def self.digest(password, stretches, salt, pepper) digest = pepper stretches.times { digest = self.secure_digest(salt, digest, password, pepper) } digest end |
.secure_digest(*tokens) ⇒ Object
Generate a Sha512 digest joining args. Generated token is something like --arg1--arg2--arg3--argN--
21 22 23 |
# File 'lib/devise/encryptable/encryptors/sha512.rb', line 21 def self.secure_digest(*tokens) ::Digest::SHA512.hexdigest(+'--' << tokens.flatten.join('--') << '--') end |