Class: SmartPay::HmacCalculator
- Inherits:
-
Object
- Object
- SmartPay::HmacCalculator
- Defined in:
- lib/smart_pay/hmac_calculator.rb
Instance Method Summary collapse
-
#initialize(psk, parameters) ⇒ HmacCalculator
constructor
A new instance of HmacCalculator.
- #signature ⇒ Object
- #verify(merchant_sig) ⇒ Object
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
#signature ⇒ Object
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 |