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.

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.join_tokenObject

Returns the value of attribute join_token.



12
13
14
# File 'lib/authlogic/crypto_providers/md5.rb', line 12

def join_token
  @join_token
end

.stretchesObject

The number of times to loop through the encryption.



15
16
17
# File 'lib/authlogic/crypto_providers/md5.rb', line 15

def stretches
  @stretches ||= 1
end

Class Method Details

.encrypt(*tokens) ⇒ Object

Turns your raw password into a MD5 hash.



21
22
23
24
25
# File 'lib/authlogic/crypto_providers/md5.rb', line 21

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)


28
29
30
# File 'lib/authlogic/crypto_providers/md5.rb', line 28

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