Class: Jeff::Signature

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

Overview

Calculates an RFC 2104-compliant HMAC signature.

Constant Summary collapse

SHA256 =
OpenSSL::Digest.new('SHA256')

Instance Method Summary collapse

Constructor Details

#initialize(secret) ⇒ Signature

Returns a new instance of Signature.



66
67
68
# File 'lib/jeff.rb', line 66

def initialize(secret)
  @secret = secret
end

Instance Method Details

#secretObject



74
75
76
# File 'lib/jeff.rb', line 74

def secret
  @secret || raise(ArgumentError, 'Missing secret')
end

#sign(message) ⇒ Object



70
71
72
# File 'lib/jeff.rb', line 70

def sign(message)
  Base64.encode64(OpenSSL::HMAC.digest(SHA256, secret, message)).strip
end