Module: PayHyper::Security
- Defined in:
- lib/payhyper/security.rb
Class Method Summary collapse
Class Method Details
._sign(key, data) ⇒ Object
4 5 6 |
# File 'lib/payhyper/security.rb', line 4 def self._sign(key, data) OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha1'), key, data) end |
.secure_compare(a, b) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/payhyper/security.rb', line 12 def self.secure_compare(a, b) return false if a.nil? || b.nil? || a.length.zero? || b.length.zero? || a.bytesize != b.bytesize l = a.unpack "C#{a.bytesize}" res = 0 b.each_byte { |byte| res |= byte ^ l.shift } res == 0 end |
.sign(key, data) ⇒ Object
8 9 10 |
# File 'lib/payhyper/security.rb', line 8 def self.sign(key, data) Base64.encode64(_sign(key, data)).gsub("\n", "") end |