module Aliyun::MTS::Util
Public Class Methods
default_params()
click to toggle source
# File lib/aliyun/mts/util.rb, line 31 def default_params { Format: "JSON", Version: "2014-06-18", AccessKeyId: Aliyun::MTS.access_key_id, SignatureMethod: "HMAC-SHA1", Timestamp: Time.now.utc.iso8601, SignatureVersion: "1.0", SignatureNonce: signature_nonce } end
get_signature(params)
click to toggle source
# File lib/aliyun/mts/util.rb, line 20 def get_signature(params) cano_query = params.sort.map { |k, v| [CGI.escape(k.to_s), CGI.escape(v)].join('=') }.join('&') string_to_sign = 'GET&' + CGI.escape('/') + '&' + CGI.escape(cano_query) Base64.strict_encode64( OpenSSL::HMAC.digest('sha1', Aliyun::MTS.access_key_secret + "&", string_to_sign)) end
signature_params(params)
click to toggle source
签名后参数
# File lib/aliyun/mts/util.rb, line 14 def signature_params(params) params.merge!(default_params) params[:Signature] = get_signature(params) params end
Private Class Methods
signature_nonce()
click to toggle source
# File lib/aliyun/mts/util.rb, line 44 def signature_nonce (rand * 1_000_000_000).to_s end