php sha256withrsa
时间: 2023-10-03 10:10:50 浏览: 213
SHA256withRSA 是一种数字签名算法,用于验证消息的完整性和身份认证。在 PHP 中可以使用 OpenSSL 扩展来实现 SHA256withRSA 签名和验证。
示例代码:
```
// 生成 RSA 密钥对
$config = array(
"digest_alg" => "sha256",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);
$rsa_key = openssl_pkey_new($config);
openssl_pkey_export($rsa_key, $private_key);
$public_key = openssl_pkey_get_details($rsa_key);
$public_key = $public_key["key"];
// 消息
$message = "Hello, world!";
// 签名
openssl_sign($message, $signature, $private_key, OPENSSL_ALGO_SHA256);
// 验证签名
$verify = openssl_verify($message, $signature, $public_key, OPENSSL_ALGO_SHA256);
if ($verify == 1) {
echo "Signature is valid";
} elseif ($verify == 0) {
echo "Signature is invalid";
} else {
echo "Error in verification";
}
```
上述代码中,首先使用 openssl_pkey_new 函数生成一个 RSA 密钥对,然后使用 openssl_sign 函数对消息进行签名,最后使用 openssl_verify 函数验证签名的有效性。其中,算法类型为 OPENSSL_ALGO_SHA256,即 SHA256withRSA。
阅读全文