fix(pay): 尝试将RSA签名算法从SHA256改为SHA1以匹配彩虹易支付平台\n\n- 彩虹易支付V2接口可能使用SHA1而非SHA256签名算法\n- 用户反馈:用Unix时间戳RSA签名校验失败,用ISO 8601格式报时间戳错误\n- 此为诊断性修改,若仍失败需改回SHA256并检查其他参数

This commit is contained in:
ypsdf1
2026-07-15 00:02:38 +08:00
parent 7878c07a22
commit af5f31c87e
+1 -1
View File
@@ -165,7 +165,7 @@ function buildSign($params, $privateKeyPem) {
if ($key === false) {
throw new Exception('商户私钥加载失败: ' . openssl_error_string());
}
openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA256);
openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA1); // 尝试SHA1算法,彩虹易支付可能使用SHA1而非SHA256
// PHP 8.0+ 已弃用 openssl_free_key,资源会自动释放;显式调用会触发弃用警告,污染 JSON 响应
if (PHP_VERSION_ID < 80000) {
@openssl_free_key($key);