class Qiniu::Kit::Mac

Public Class Methods

new(access_key, secret_key) click to toggle source
# File lib/qiniu/kit/mac.rb, line 9
def initialize(access_key, secret_key)
  @access_key = access_key || Qiniu.config[:access_key]
  @secret_key = secret_key || Qiniu.config[:secret_key]
end

Public Instance Methods

base64_hmac_sha1_digest(data) click to toggle source
# File lib/qiniu/kit/mac.rb, line 18
def base64_hmac_sha1_digest(data)
  return Qiniu::Kit.base64_url_encode(hmac_sha1_digest(data))
end
hmac_sha1_digest(data) click to toggle source
# File lib/qiniu/kit/mac.rb, line 14
def hmac_sha1_digest(data)
  OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha1'), @secret_key, data)
end
sign(data) click to toggle source
# File lib/qiniu/kit/mac.rb, line 22
def sign(data)
  return %Q(#{@access_key}:#{base64_hmac_sha1_digest(data)})
end
sign_with_data(data) click to toggle source
# File lib/qiniu/kit/mac.rb, line 26
def sign_with_data(data)
  base64data = Qiniu::Kit.base64_url_encode(data)
  return %Q(#{sign(base64data)}:#{base64data})
end
sign_with_request(url, body = nil) click to toggle source
# File lib/qiniu/kit/mac.rb, line 31
def sign_with_request(url, body = nil)
  uri = URI.parse(url)
  data  = uri.path
  data += '?' + uri.query if !uri.query.nil? && !uri.query.empty?
  data += "\n"
  data += body if !body.nil? && !body.empty?
  return sign(data)
end