如何将Python实现的SHA256签名逻辑转换为兼容的PHP代码
PHP兼容SHA256签名实现
以下实现和你给出的Python逻辑完全对齐,可输出相同的签名结果:
封装函数
function generateSignature(string $bizNumber, string $totalAmount, string $externalAuthKey): string { // 按Python端规则拼接参数:biz_number + 英文冒号 + external_auth_key + 英文冒号 + total_amount $signRaw = implode(':', [$bizNumber, $externalAuthKey, $totalAmount]); // 计算SHA256哈希,返回十六进制字符串,等效Python的hexdigest() return hash('sha256', $signRaw); }
测试用例(和Python示例参数完全一致)
$bizNumber = "000-00-00000"; $totalAmount = "45000"; $externalAuthKey = "00000000-0000-0000-0000-000000000000"; $signature = generateSignature($bizNumber, $totalAmount, $externalAuthKey); echo $signature; // 输出结果:b9c4510deb7e279687bac8503d12f0878e0955a0f247b9257cb600df10378895
注意事项
- 参数拼接顺序必须严格保持为
业务编号>授权key>金额,顺序错误会导致签名结果完全不一致 - 拼接分隔符必须是英文冒号
:,不可替换为中文冒号或其他符号
内容的提问来源于stack exchange,提问作者RaGyun
相关产品推荐
相关产品推荐

