PHP中可以使用openssl扩展来进行RSA加密解密操作。
$config = array(
"digest_alg" => "sha256",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);
// 生成私钥和公钥 $res = openssl_pkey_new($config);
// 提取私钥 openssl_pkey_export($res, $privateKey);
// 提取公钥 $publicKey = openssl_pkey_get_details($res); $publicKey = $publicKey["key"];
// 保存私钥和公钥到文件 file_put_contents('private.pem', $privateKey); file_put_contents('public.pem', $publicKey);
2. 使用公钥进行加密:
```php
$data = "要加密的数据";
$publicKey = file_get_contents('public.pem');
// 加密
openssl_public_encrypt($data, $encrypted, $publicKey);
// Base64编码
$encrypted = base64_encode($encrypted);
echo $encrypted;
$encrypted = "加密后的数据";
$privateKey = file_get_contents('private.pem');
// Base64解码 $encrypted = base64_decode($encrypted);
// 解密 openssl_private_decrypt($encrypted, $decrypted, $privateKey);
echo $decrypted;
注意:在使用openssl_pkey_new函数生成密钥对时,可以通过$config参数来指定密钥的长度和类型。在加密和解密时,需要使用对应的密钥进行操作。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站