Python使用HmacSHA256并用base64加密

本文详细介绍了如何使用HmacSHA256算法生成API调用签名,包括编码步骤和Python代码实例。核心在于X-Client-Id、时间戳和nonce的组合,以及密钥的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在调用API时,调用要求如下:

调用方生成的签名值,生成方式是X-Client-Id+X-Timestamp+X-Nonce组合字符,使用HmacSHA256算法计算并经Base64编码后的字符串,密钥为签名认证令牌密钥

 直接上代码:

# coding:utf-8
import requests
import json
import time
import hmac
import uuid
import base64
from hashlib import sha256
# 调用方生成的签名值,生成方式是X-Client-Id+X-Timestamp+X-Nonce组合字符,使用HmacSHA256算法计算并经Base64编码后的字符串,密钥为签名认证令牌密钥
def getSignature(XClientId, X_Signature):
    XClientId = XClientId.encode('utf-8')
    X_Signature = X_Signature.encode('utf-8')
    signature = base64.b64encode(hmac.new(XClientId, X_Signature, digestmod=sha256).digest())
    signature = str(signature, 'utf-8')
    return signature
if __name__ == '__main__':
    # 'Client ID' : '************'
    # Client Secret: '************'
    # AppKey '************'
    timestramp = str(round(time.time() * 1000))
    XClientId = '************'
    X_Nonce = str(uuid.uuid1())
    X_Signature = XClientId + timestramp + X_Nonce
    signature = getSignature(XClientId,X_Signature)
    print(signature)

简单点的写法:

signature = base64.b64encode(hmac.new(XClientId.encode('utf-8'), X_Signature.encode('utf-8'), digestmod=sha256).digest())
print(str(signature, 'utf-8'))

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值