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