This commit is contained in:
Billy 2025-10-22 14:59:47 +08:00
parent ffdd508638
commit 111ab2705e

View File

@ -61,8 +61,14 @@ class CcbHttpClient
}
Log::info('使用公钥加密(前64字符): ' . substr($encryptPublicKey, 0, 64));
// 第一次加密和BASE64编码
$encryptedMessage = CcbRSA::encryptForCcb($message, $encryptPublicKey);
// 第二次BASE64编码按照建行demo要求
// demo1.java第120行: enc_msg = encoder.encode(enc_msg.getBytes("UTF-8"));
$encryptedMessage = base64_encode($encryptedMessage);
// 移除BASE64中的换行符
$encryptedMessage = str_replace(["\r", "\n", "\r\n"], '', $encryptedMessage);
@ -210,8 +216,12 @@ class CcbHttpClient
Log::info('加密响应参数 cnt: ' . $responseData['cnt']);
Log::info('加密响应参数 mac: ' . $responseData['mac']);
// 解密响应内容
$decryptedContent = CcbRSA::decryptFromCcb($responseData['cnt'], $this->config['private_key']);
// 第一次BASE64解码按照建行demo要求
// demo1.java第139行: enc_msg = new String(decoder.decodeBuffer(enc_msg),"UTF-8");
$cntDecoded = base64_decode($responseData['cnt']);
// 第二次解密和BASE64解码
$decryptedContent = CcbRSA::decryptFromCcb($cntDecoded, $this->config['private_key']);
// 📝 记录解密后的响应内容
Log::info('解密后响应内容: ' . $decryptedContent);