七牛云——利用Python生成带有时限的上传token

Python生成带有时限的七牛云上传token

注:七牛云官网已有各种语言的SDK,已无需个人实现~

不过还是根据博文的教程,自己使用Python语言实现了一遍。

token = accessKey + encodedSign + encoded

需要准备的数据:

  • AccessKey
  • SecretKey
  • OSS Bucket名称

当然,如果还想添加policy(限制上传文件大小等)的话请参考官网,这里是不含policy的

import base64
import hmac
import json
import time
from hashlib import sha1

# access_key
access_key = "你的AccessKey"
# secret_key
secret_key = "你的SecretKey"
# bucket
bucket = "你的bucket仓库名称"
# token过期(s)
expired_time = 3600


# 获取Token
def get_token():
    data = {"scope": bucket}
    exp_time = int(time.time()) + expired_time
    data["deadline"] = exp_time
    s = json.JSONEncoder().encode(data).encode("utf-8")
    encoded = base64.b64encode(s)
    encoded_sign = base64.b64encode(hmac.new(secret_key.encode("utf-8"), encoded, sha1).digest()).decode("utf-8")
    return access_key + ":" + encoded_sign + ":" + encoded.decode("utf-8")


# 主函数
if __name__ == '__main__':
    print(get_token())

[2020.02.08] 记录:亲测可用,可用正常上传

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章