Class: Authlogic::CryptoProviders::MD5

Inherits:
Object
  • Object
show all
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

Class Method Summary collapse

Class Attribute Details

.join_tokenObject

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

.stretchesObject

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.

Returns:

  • (Boolean)


30
31
32
# File 'lib/authlogic/crypto_providers/md5.rb', line 30

def matches?(crypted, *tokens)
  encrypt(*tokens) == crypted
end