PHP中可以使用openssl扩展来实现非对称加密。下面是一个简单的示例代码:
// 生成密钥对
$config = array(
"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)["key"];
// 加密数据
$data = "Hello, World!";
openssl_public_encrypt($data, $encrypted, $publicKey);
$encryptedData = base64_encode($encrypted);
// 解密数据
openssl_private_decrypt(base64_decode($encryptedData), $decrypted, $privateKey);
echo "原始数据: " . $data . "\n";
echo "加密后的数据: " . $encryptedData . "\n";
echo "解密后的数据: " . $decrypted . "\n";
这段代码首先使用openssl_pkey_new函数生成了一个密钥对,然后使用openssl_public_encrypt函数使用公钥加密数据,再使用openssl_private_decrypt函数使用私钥解密数据。
需要注意的是,这个示例中使用的是RSA非对称加密算法,密钥长度为2048位。你可以根据需要调整密钥长度和加密算法。
上一篇:php面向对象个人浓缩总结和实例
下一篇:PHP7 安装 xhprof
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站