class Miasma::Contrib::AzureApiCore::Hmac
HMAC helper class
Attributes
digest[R]
@return [OpenSSL::Digest]
key[R]
@return [String] secret key
Public Class Methods
new(kind, key)
click to toggle source
Create new HMAC helper
@param kind [String] digest type (sha1, sha256, sha512, etc) @param key [String] secret key @return [self]
# File lib/miasma/contrib/azure.rb, line 32 def initialize(kind, key) @digest = OpenSSL::Digest.new(kind) @key = key end
Public Instance Methods
hex_sign(data, key_override=nil)
click to toggle source
Sign the given data and return hexdigest
@param data [String] @param key_override [Object] @return [String] hex encoded signature
# File lib/miasma/contrib/azure.rb, line 69 def hex_sign(data, key_override=nil) result = OpenSSL::HMAC.hexdigest(digest, key_override || key, data) digest.reset result end
hexdigest_of(content)
click to toggle source
Generate the hexdigest of the content
@param content [String] content to digest @return [String] hashed result
# File lib/miasma/contrib/azure.rb, line 46 def hexdigest_of(content) digest << content hash = digest.hexdigest digest.reset hash end
sign(data, key_override=nil)
click to toggle source
Sign the given data
@param data [String] @param key_override [Object] @return [Object] signature
# File lib/miasma/contrib/azure.rb, line 58 def sign(data, key_override=nil) result = OpenSSL::HMAC.digest(digest, key_override || key, data) digest.reset result end
to_s()
click to toggle source
@return [String]
# File lib/miasma/contrib/azure.rb, line 38 def to_s "Hmac#{digest.name}" end