Class: Authlogic::CryptoProviders::MD5
- Inherits:
-
Object
- Object
- Authlogic::CryptoProviders::MD5
- Defined in:
- lib/authlogic/crypto_providers/md5.rb
Overview
This class was made for the users transitioning from md5 based systems. I highly discourage using this crypto provider as it superbly inferior to your other options.
Please use any other provider offered by Authlogic (except AES256, that would be even worse).
Class Attribute Summary collapse
-
.join_token ⇒ Object
Returns the value of attribute join_token.
-
.stretches ⇒ Object
The number of times to loop through the encryption.
Class Method Summary collapse
-
.encrypt(*tokens) ⇒ Object
Turns your raw password into a MD5 hash.
-
.matches?(crypted, *tokens) ⇒ Boolean
Does the crypted password match the tokens? Uses the same tokens that were used to encrypt.
Class Attribute Details
.join_token ⇒ Object
Returns the value of attribute join_token.
13 14 15 |
# File 'lib/authlogic/crypto_providers/md5.rb', line 13 def join_token @join_token end |
.stretches ⇒ Object
The number of times to loop through the encryption.
16 17 18 |
# File 'lib/authlogic/crypto_providers/md5.rb', line 16 def stretches @stretches ||= 1 end |
Class Method Details
.encrypt(*tokens) ⇒ Object
Turns your raw password into a MD5 hash.
22 23 24 25 26 |
# File 'lib/authlogic/crypto_providers/md5.rb', line 22 def encrypt(*tokens) digest = tokens.flatten.join(join_token) stretches.times { digest = Digest::MD5.hexdigest(digest) } digest end |
.matches?(crypted, *tokens) ⇒ Boolean
Does the crypted password match the tokens? Uses the same tokens that were used to encrypt.
30 31 32 |
# File 'lib/authlogic/crypto_providers/md5.rb', line 30 def matches?(crypted, *tokens) encrypt(*tokens) == crypted end |