Module: AttributeQueryableEncrypted::CoreExt::StretchDigest

Defined in:
lib/attribute_queryable_encrypted/core_ext/stretch_digest.rb

Instance Method Summary collapse

Instance Method Details

#stretch_digest(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/attribute_queryable_encrypted/core_ext/stretch_digest.rb', line 4

def stretch_digest(options={})
  options = options.dup
  options[:digest] ||= Digest::SHA2
  options[:stretches] ||= 1
  
  digest = options[:digest].new
  options[:stretches].times do
    string = options[:key] ? self + options[:key] : self
    digest.update(string)
  end
  digest.to_s
end