4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/youtu/sign.rb', line 4
def refresh_sign
_current_time = Time.now
_app_id = Youtu.config.app_id
_secret_id = Youtu.config.secret_id
_secret_key = Youtu.config.secret_key
_user_id = Youtu.config.user_id
_time_stamp = _current_time.to_i
_expired_at = (_current_time + Youtu.config.expired).to_i
_r = random(Youtu.config.random_length)
_original = "u=#{_user_id}&a=#{_app_id}&k=#{_secret_id}&e=#{_expired_at}&t=#{_time_stamp}&r=#{_r}&f="
_hmac = OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha1'),_secret_key,_original)
_signature = Base64.strict_encode64(_hmac+_original)
sign_hash = {
signature: _signature,
expired_at: _expired_at,
got_signature_at: _current_time
}
write_signature_to_store(sign_hash)
read_signature_from_store
end
|