Python

最近更新时间:2021-08-26 10:19:07

查看PDF

python3 签名DEMO如下:

import sys, os, base64, datetime, hashlib, hmac
import urllib.request
 
# 使用时把sign方法拷贝到代码工程内即可
def sign(params, secret_key):
    str_encode = ''
    param_keys = sorted(params.keys())
    for key in param_keys:
        str_encode += urllib.request.quote(key, '~') + '=' + urllib.request.quote(str(params[key]), '~') + '&'
 
    return hmac.new(bytes(secret_key, 'utf-8'), bytes(str_encode[:-1], 'utf-8'), hashlib.sha256).hexdigest()
 
arr = {
    'Accesskey' : 'AKLTXQVF0pOmS6aahIrD5r0B3Q',
    'Service' : 'iam',
    'Action' : 'CreateUser',
    'Version' : '2015-11-01',
    'Timestamp' : '2021-08-12T02:47:36Z', # 使用如下的方式产生UTC格式的时间,datetime.datetime.utcnow()
    'SignatureVersion' : '1.0',
    'SignatureMethod' : 'HMAC-SHA256',
    'UserName' : 'Ttest',
    'RealName' : '周四测试',
    'Email' : '[email protected]',
    'Remark' : '~ce shi*%#|+'
}
sk = 'OMovU5PTLh6y9E9Ioe3K411jt99VqyQSBXgAcDYlo49R3lvUIzb6e/efZCFDmtFlzw=='
signature = sign(arr, sk)
 
print(signature) #结果:fc9088ab845949dac4040be9b7ce7859068b5c21d4c400fec8ee0cefb777f659

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈