You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jsSHA与Python hashlib同输入生成不同HMAC-SHA1结果咨询

HMAC-SHA1计算结果不一致的问题解决

问题根源在于Python代码的参数传递错误:

  • Node.js代码仅对字符串"123"进行HMAC计算
  • Python代码中hmac.new的第二个参数错误传入了b"TEXT",后续又执行update("123"),实际计算的是"TEXT123"的HMAC,和Node.js的输入内容不一致,最终导致结果不同

修正后的Python代码

import hmac
import hashlib
import base64

# 方式1:直接传入初始消息b"123"
hashed = hmac.new(b"abc", b"123", hashlib.sha1)
# 方式2:先初始化空消息再更新内容
# hashed = hmac.new(b"abc", digestmod=hashlib.sha1)
# hashed.update("123".encode('utf-8'))

print(base64.b64encode(hashed.digest()).decode())

修正后运行结果为:vpEGplDt4B9KMf3iOB0G9ftz5hI=,与Node.js代码的计算结果完全一致。

内容的提问来源于stack exchange,提问作者haolee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 19:18:18