php实现RSA的加密解密和签名验签功能

本文介绍了如何在PHP环境下生成RSA的私钥和公钥,并详细讲解了如何利用私钥进行加密、公钥解密以及私钥签名和公钥验签的步骤,解决在操作过程中可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在3A平台购买了服务器,部署了PHP环境

一:生成RSA的私钥和公钥

1:RSA私钥生成

$resource = openssl_pkey_new();
openssl_pkey_export($resource, $privateKey);
echo($privateKey);

2:RSA公钥生成

$resource = openssl_pkey_new();
$detail = openssl_pkey_get_details($resource);
$publicKey = $detail['key'];
echo($publicKey);

注意: 如果在生成私钥和公钥时出现如下提示:

需要将你的php环境下的openssl.cnf文件地址加到系统环境变量中 增加变量名OPENSSL_CONF,变量值为openssl.cnf文件地址

二:RSA实现私钥加密和公钥解密

1:RSA私钥加密

$key = '123';//需要加密的字符串
$pkey=openssl_pkey_get_private($privateKey);//$privateKey为私钥字符串
openssl_private_encrypt($key, $encryptedData, $pkey);
$encryptedData = base64_encode($encryptedData);
echo($encryptedData);

2:RSA公钥解密

$pkey = openssl_pkey_get_public($publicKey)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值