class Ciphr::Functions::OpenSSL::OpenSslHmac

Public Class Methods

params() click to toggle source
# File lib/ciphr/functions/openssl.rb, line 36
def self.params 
  [:input, :key]
end
variants() click to toggle source
# File lib/ciphr/functions/openssl.rb, line 32
def self.variants
  OPENSSL_DIGESTS.map{|d| [["hmac-#{d}", "hmac#{d}"], {:variant => d}]}        
end

Public Instance Methods

apply() click to toggle source

reuse code from Digest.apply

# File lib/ciphr/functions/openssl.rb, line 41
def apply
  input, key = @args
  digester = OpenSSL::HMAC.new(key.read, @options[:variant])
  while chunk = input.read(256)
    digester.update(chunk)
  end
  digest = digester.digest
  Proc.new do
    d = digest
    digest = nil
    d
  end
end