如何在Python中使用snefru256哈希函数生成API所需校验和
Python实现snefru256哈希校验和方案
1. 安装依赖
使用成熟的第三方密码学库pycryptodome,其内置了标准snefru256算法实现,安装命令:pip install pycryptodome
2. 对应PHP逻辑的代码实现
官方给出的PHP拼接逻辑为$time." . ".$sensor." . ".$token,对应Python实现代码如下:
from Crypto.Hash import Snefru256 def calculate_checksum(time_str: str, sensor_str: str, token_str: str) -> str: # 严格对齐PHP拼接逻辑:各参数间用「空格+点+空格」分隔 concat_str = f"{time_str} . {sensor_str} . {token_str}" # 字符串转字节后计算snefru256哈希 h = Snefru256.new(data=concat_str.encode('utf-8')) # 返回十六进制格式哈希值,和PHP hash函数输出格式完全一致 return h.hexdigest()
注意事项
- 请确保传入的
time、sensor、token三个参数的取值、字符串编码和接口要求完全一致,否则会得到不同的哈希结果 - 如果接口要求非utf-8编码,修改
encode方法的参数即可,比如encode('gbk')
内容的提问来源于stack exchange,提问作者MortenB
相关产品推荐
相关产品推荐

