fix(pay): 尝试将RSA签名算法从SHA256改为SHA1以匹配彩虹易支付平台\n\n- 彩虹易支付V2接口可能使用SHA1而非SHA256签名算法\n- 用户反馈:用Unix时间戳RSA签名校验失败,用ISO 8601格式报时间戳错误\n- 此为诊断性修改,若仍失败需改回SHA256并检查其他参数
This commit is contained in:
+1
-1
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user