PHP加密专题-通过RSA实现加密解密
warning:
这篇文章距离上次修改已过189天,其中的内容可能已经有所变动。
在PHP中,你可以使用openssl扩展来实现RSA加密和解密。以下是一个简单的例子:
首先,生成RSA密钥对:
openssl genpkey -out private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in private.pem -out public.pem
然后,使用以下PHP代码进行加密和解密:
<?php
// 加载私钥
$privateKey = openssl_pkey_get_private(file_get_contents('private.pem'));
// 加载公钥
$publicKey = openssl_pkey_get_public(file_get_contents('public.pem'));
// 需要加密的数据
$data = "Hello, World!";
// 使用公钥加密数据
if (openssl_public_encrypt($data, $encrypted, $publicKey)) {
echo "加密数据: " . base64_encode($encrypted) . "\n";
} else {
echo "加密失败。\n";
}
// 使用私钥解密数据
if (openssl_private_decrypt($encrypted, $decrypted, $privateKey)) {
echo "解密数据: " . $decrypted . "\n";
} else {
echo "解密失败。\n";
}
// 释放资源
openssl_free_key($privateKey);
openssl_free_key($publicKey);
?>
确保你的PHP环境已经启用了openssl扩展。你可以通过在php.ini文件中去掉extension=openssl
前面的注释符号来启用它,如果它尚未启用的话。
评论已关闭