Sha256: d2827966346b7bf599e63746a4a6c1757a8cc1c2ef539242eb96f281de473b1e

Contents?: true

Size: 800 Bytes

Versions: 1

Compression:

Stored size: 800 Bytes

Contents

module Devise
  # Implements a way of adding different encryptions.
  # The class should implement a self.digest method that taks the following params:
  #   - password
  #   - stretches: the number of times the encryption will be applied
  #   - salt: the password salt as defined by devise
  #   - pepper: Devise config option
  #
  module Encryptable
    module Encryptors
      class Base
        def self.digest(password, stretches, salt, pepper)
          raise NotImplementedError
        end

        def self.salt(stretches)
          Devise.friendly_token[0,20]
        end

        def self.compare(encrypted_password, password, stretches, salt, pepper)
          Devise.secure_compare(encrypted_password, digest(password, stretches, salt, pepper))
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
devise-encryptable-0.2.0 lib/devise/encryptable/encryptors/base.rb