Module: NodexPay::Signer
- Defined in:
- lib/nodex_pay/signer.rb
Class Method Summary collapse
- .generate(order_code:, amount:, hash_token:) ⇒ Object
- .valid?(order_code:, amount:, hash_token:, signature:) ⇒ Boolean
Class Method Details
.generate(order_code:, amount:, hash_token:) ⇒ Object
10 11 12 |
# File 'lib/nodex_pay/signer.rb', line 10 def generate(order_code:, amount:, hash_token:) Digest::SHA256.hexdigest([order_code, amount, hash_token].join("::")) end |
.valid?(order_code:, amount:, hash_token:, signature:) ⇒ Boolean
14 15 16 17 18 19 |
# File 'lib/nodex_pay/signer.rb', line 14 def valid?(order_code:, amount:, hash_token:, signature:) expected = generate(order_code:, amount:, hash_token:) return false unless signature.bytesize == expected.bytesize OpenSSL.fixed_length_secure_compare(expected, signature) end |