基於 python 生成 token 代碼示例如下:
import base64
import hmac
import time
from urllib.parse import quote
def token(id,access_key):
version = '2018-10-31'
res = 'products/%s' % id # 通過產品lD訪問產品APl
# 用戶自訂token過期時間
et = str(int(time.time()) + 3600)
# 簽名方法,支持md5、sha1、sha256
method = 'sha1'
# 對access_key進行decode
key = base64.b64decode(access_key)
# 計算sign
org = et + '\n' + method + '\n' + res + '\n' + version
sign_b = hmac.new(key=key, msg=org.encode(), digestmod=method)
sign = base64.b64encode(sign_b.digest()).decode()
# value 部分進行url編碼,method/res/version值較為簡單無需編碼
sign = quote(sign, safe='')
res = quote(res, safe='')
# token參數拼接
token = 'version=%s&res=%s&et=%s&method=%s&sign=%s' % (version, res, et, method, sign)
return token
if __name__ == '__main__':
id = '123123'
access_key = 'KuF3NT/jUBJ62LNBB/A8XZA9CqS3Cu79B/ABmfA1UCw='
print(token(id,access_key))