Sha256: 263548b3685bb67df229586274aa5ee56b5887048d97f9360c7d199f95ff8ffa

Contents?: true

Size: 760 Bytes

Versions: 39

Compression:

Stored size: 760 Bytes

Contents

require "digest/sha1"

module Devise
  module Encryptors
    # = Sha1
    # Uses the Sha1 hash algorithm to encrypt passwords.
    class Sha1 < Base
      
      # Gererates a default password digest based on stretches, salt, pepper and the
      # incoming password.
      def self.digest(password, stretches, salt, pepper)
        digest = pepper
        stretches.times { digest = self.secure_digest(salt, digest, password, pepper) }
        digest
      end

      private

        # Generate a SHA1 digest joining args. Generated token is something like
        #   --arg1--arg2--arg3--argN--
        def self.secure_digest(*tokens)
          ::Digest::SHA1.hexdigest('--' << tokens.flatten.join('--') << '--')
        end        
      
    end
  end
end

Version data entries

39 entries across 34 versions & 7 rubygems

Version Path
graffititracker_devise-1.0.11 lib/devise/encryptors/sha1.rb
devise-1.0.11 lib/devise/encryptors/sha1.rb
devise-1.0.10 lib/devise/encryptors/sha1.rb
devise_ennder-1.4.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/encryptors/sha1.rb
devise_ennder-1.4.1.0.9 lib/devise/encryptors/sha1.rb
devise_ennder-1.3.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/encryptors/sha1.rb
devise_ennder-1.3.1.0.9 lib/devise/encryptors/sha1.rb
devise_ennder-1.2.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/encryptors/sha1.rb
devise_ennder-1.2.1.0.9 lib/devise/encryptors/sha1.rb
devise_ennder-1.1.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/encryptors/sha1.rb
devise_ennder-1.1.1.0.9 lib/devise/encryptors/sha1.rb
devise_ennder-1.0.1.0.9 lib/devise/encryptors/sha1.rb
devise_ennder-1.0.1.0.9 test/rails_app/vendor/plugins/devise/lib/devise/encryptors/sha1.rb
devise-1.0.9 lib/devise/encryptors/sha1.rb
dcu-devise-1.0.7 lib/devise/encryptors/sha1.rb
devise-1.0.8 lib/devise/encryptors/sha1.rb
ivanvc-devise-1.0.7.1 lib/devise/encryptors/sha1.rb
mongoid-devise-1.0.1 lib/devise/encryptors/sha1.rb
devise-1.0.7 lib/devise/encryptors/sha1.rb
devise-1.1.rc1 lib/devise/encryptors/sha1.rb