Class: SmartPay::HmacCalculator

Inherits:
Object
  • Object
show all
Defined in:
lib/smart_pay/hmac_calculator.rb

Instance Method Summary collapse

Constructor Details

#initialize(psk, parameters) ⇒ HmacCalculator

Returns a new instance of HmacCalculator.



6
7
8
9
# File 'lib/smart_pay/hmac_calculator.rb', line 6

def initialize(psk, parameters)
  @psk = psk
  @parameters = parameters
end

Instance Method Details

#signatureObject



11
12
13
14
15
# File 'lib/smart_pay/hmac_calculator.rb', line 11

def signature
  raise_if_key_missing
  hmac = OpenSSL::HMAC.digest('sha1', @psk, @parameters.join)
  Base64.encode64(hmac)
end

#verify(merchant_sig) ⇒ Object



17
18
19
20
# File 'lib/smart_pay/hmac_calculator.rb', line 17

def verify(merchant_sig)
  raise_if_key_missing
  "#{merchant_sig}\n" == signature
end