Module: Authlogic::CryptoProviders
- Defined in:
- lib/authlogic/crypto_providers.rb,
lib/authlogic/crypto_providers/md5.rb,
lib/authlogic/crypto_providers/sha1.rb,
lib/authlogic/crypto_providers/bcrypt.rb,
lib/authlogic/crypto_providers/md5/v2.rb,
lib/authlogic/crypto_providers/scrypt.rb,
lib/authlogic/crypto_providers/sha256.rb,
lib/authlogic/crypto_providers/sha512.rb,
lib/authlogic/crypto_providers/sha1/v2.rb,
lib/authlogic/crypto_providers/sha256/v2.rb,
lib/authlogic/crypto_providers/sha512/v2.rb
Overview
The acts_as_authentic method has a crypto_provider option. This allows you to use any type of encryption you like. Just create a class with a class level encrypt and matches? method. See example below.
Example
class MyAwesomeEncryptionMethod
def self.encrypt(*tokens)
# the tokens passed will be an array of objects, what type of object
# is irrelevant, just do what you need to do with them and return a
# single encrypted string. for example, you will most likely join all
# of the objects into a single string and then encrypt that string
end
def self.matches?(crypted, *tokens)
# return true if the crypted string matches the tokens. Depending on
# your algorithm you might decrypt the string then compare it to the
# token, or you might encrypt the tokens and make sure it matches the
# crypted string, its up to you.
end
end
Defined Under Namespace
Classes: BCrypt, Guidance, MD5, SCrypt, Sha1, Sha256, Sha512