您的足迹:首页 > PHP >OpenSSL生成私钥和公钥以及PHP使用加密传参

OpenSSL生成私钥和公钥以及PHP使用加密传参

73591565665103.png

1.生成私钥
-- 生成 RSA 私钥(传统格式的)

openssl genrsa -out rsa_private_key.pem 1024

-- 将传统格式的私钥转换成 PKCS#8 格式的(JAVA需要使用的私钥需要经过PKCS#8编码,PHP程序不需要,可以直接略过)

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

2.生成公钥
-- 生成 RSA 公钥(php和java都用转换前私钥生成公钥)

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem


3、使用PHP加载公钥加密私钥解密

$originalData = json_encode(["加密前内容"]);
$privateKey = openssl_pkey_get_private(file_get_contents("rsa_private_key.pem"));  //读取私钥内容
$publicKey = openssl_pkey_get_public(file_get_contents("rsa_public_key.pem"));  //读取公钥内容

openssl_public_encrypt($originalData, $encryptedBlock, $publicKey, OPENSSL_PKCS1_OAEP_PADDING);
$str_base64 = base64_encode($encryptedBlock);

echo "加密前:" . $originalData;
echo "<br>";
echo "<br>";
echo "<br>";
echo "加密后:" . $str_base64;
echo "<br>";
echo "<br>";
echo "<br>";
openssl_private_decrypt(base64_decode($str_base64), $decryptData, $privateKey, OPENSSL_PKCS1_OAEP_PADDING);
echo "解密后:".$decryptData;

本博客所有文章如无特别注明均为原创。作者:潇潇枫叶复制或转载请以超链接形式注明转自 木风溪
原文地址《OpenSSL生成私钥和公钥以及PHP使用加密传参

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)