Class: PayOS::Utils::Signature

Inherits:
Object
  • Object
show all
Defined in:
lib/payOS/utils/signature.rb

Class Method Summary collapse

Class Method Details

.generate(data, secret_key) ⇒ Object



6
7
8
# File 'lib/payOS/utils/signature.rb', line 6

def self.generate(data, secret_key)
  OpenSSL::HMAC.hexdigest("SHA256", secret_key, data)
end

.verify!(data, secret_key, signature) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/payOS/utils/signature.rb', line 10

def self.verify!(data, secret_key, signature)
  raise SignatureVerificationError, "Invalid signature!" if signature.nil?

  return true if OpenSSL::HMAC.hexdigest("SHA256", secret_key, data) == signature

  raise SignatureVerificationError, "Invalid signature!"
end