消费者调用API签名计算 签名字符串拼接示例 以下面请求为例: $ curl i 根据签名生成公式生成的signingstring 为: "GET /index.html age36&namejames " 注意 最后一个请求头也需要+ n。 生成签名 使用Python 来生成签名 SIGNATURE: import base64 import hashlib import hmac secret bytes('mysecretkey', 'utf8') message bytes("""GET /index.html age36&namejames """, 'utf8') hash hmac.new(secret, message, hashlib.sha256) to lowercase base64 print(base64.b64encode(hash.digest())) 不同语言的签名生成样例 以下提供一个更为简单的脚本帮助用户快速得到请求时使用的签名header Python3 执行样例:python3 apptokengen.py uri method ak sk query apptokengen.py import sys import base64 import hashlib import hmac inputsnum len(sys.argv) if inputsnum 6: queryparam sys.argv[5] if ak is None or sk is None: print("请依次传入uri、method、ak、sk、query(可选)的值,如python3 apptokengen.py uri method ak sk query") sys.exit(1) secret bytes(sk, 'utf8') signaturemessagetemplate '''%s %s %s %s ''' signaturemessage signaturemessagetemplate % (method, uri, queryparam, ak) message bytes(signaturemessage, 'utf8') hash hmac.new(secret, message, hashlib.sha256)