class Authlogic::CryptoProviders::Sha512
SHA-512 does not have any practical known attacks against it. However, there are better choices. We recommend transitioning to a more secure, adaptive hashing algorithm, like scrypt.
Attributes
join_token[RW]
stretches[W]
Public Class Methods
encrypt(*tokens)
click to toggle source
Turns your raw password into a Sha512
hash.
# File lib/authlogic/crypto_providers/sha512.rb, line 21 def encrypt(*tokens) digest = tokens.flatten.join(join_token) stretches.times { digest = Digest::SHA512.hexdigest(digest) } digest end
matches?(crypted, *tokens)
click to toggle source
Does the crypted password match the tokens? Uses the same tokens that were used to encrypt.
# File lib/authlogic/crypto_providers/sha512.rb, line 29 def matches?(crypted, *tokens) encrypt(*tokens) == crypted end
stretches()
click to toggle source
The number of times to loop through the encryption.
# File lib/authlogic/crypto_providers/sha512.rb, line 15 def stretches @stretches ||= 20 end