PHP 实现 SHA256WithRSA 加密 保持结果与 Java 一致
以下是用 PHP 实现 SHA256WithRSA 加密的示例代码:
// 密钥文件路径
$private_key_file = 'private_key.pem';
// 待加密数据
$data = 'Hello World!';
// 读取私钥
$private_key = openssl_pkey_get_private(file_get_contents($private_key_file));
// 计算 SHA256 哈希值
$hash = hash('sha256', $data, true);
// 使用私钥进行 RSA 加密
openssl_private_encrypt($hash, $encrypted, $private_key, OPENSSL_PKCS1_PADDING);
// 将加密结果转换为 Base64 编码的字符串
$base64_encrypted = base64_encode($encrypted);
echo $base64_encrypted;
?>
需要注意的是,PHP 和 Java 在使用 RSA 加密时的一些细节可能会略有不同,例如填充方式、编码方式等。如果要保持加密结果和 Java 一致,需要确保在 PHP 中使用与 Java 相同的填充方式和编码方式,可以参考 Java 代码中的实现方式进行调整。
原文地址: https://www.cveoy.top/t/topic/mS9z 著作权归作者所有。请勿转载和采集!