Class: Qiniu::Kit::Mac
- Inherits:
-
Object
- Object
- Qiniu::Kit::Mac
- Defined in:
- lib/qiniu/kit/mac.rb
Instance Method Summary collapse
- #base64_hmac_sha1_digest(data) ⇒ Object
- #hmac_sha1_digest(data) ⇒ Object
-
#initialize(access_key, secret_key) ⇒ Mac
constructor
A new instance of Mac.
- #sign(data) ⇒ Object
- #sign_with_data(data) ⇒ Object
- #sign_with_request(url, body = nil) ⇒ Object
Constructor Details
Instance Method Details
#base64_hmac_sha1_digest(data) ⇒ Object
19 20 21 |
# File 'lib/qiniu/kit/mac.rb', line 19 def base64_hmac_sha1_digest(data) return Qiniu::Kit.base64_url_encode(hmac_sha1_digest(data)) end |
#hmac_sha1_digest(data) ⇒ Object
15 16 17 |
# File 'lib/qiniu/kit/mac.rb', line 15 def hmac_sha1_digest(data) OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha1'), @secret_key, data) end |
#sign(data) ⇒ Object
23 24 25 |
# File 'lib/qiniu/kit/mac.rb', line 23 def sign(data) return %Q(#{@access_key}:#{base64_hmac_sha1_digest(data)}) end |
#sign_with_data(data) ⇒ Object
27 28 29 30 |
# File 'lib/qiniu/kit/mac.rb', line 27 def sign_with_data(data) base64data = Qiniu::Kit.base64_url_encode(data) return %Q(#{sign(base64data)}:#{base64data}) end |
#sign_with_request(url, body = nil) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/qiniu/kit/mac.rb', line 32 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 |