使用 OpenSSL 扩展来实现公钥和私钥加密

首先,你需要生成一对公钥和私钥。可以使用 OpenSSL 工具来生成:

1、生成私钥

复制代码
openssl genpkey -algorithm RSA -out private_key.pem

2、从私钥生成公钥:

复制代码
openssl rsa -pubout -in private_key.pem -out public_key.pem

现在你有了一个私钥(private_key.pem)和一个对应的公钥(public_key.pem)。下面是如何在 PHP 中使用它们进行加密和解密:

复制代码
<?php
// 读取私钥和公钥
$privateKey = file_get_contents('private_key.pem');
$publicKey = file_get_contents('public_key.pem');

// 要加密的原始数据
$data = 'Hello, World!';

// 使用私钥进行加密
openssl_private_encrypt($data, $encrypted, $privateKey);

// 使用公钥进行解密
openssl_public_decrypt($encrypted, $decrypted, $publicKey);

// 输出解密后的数据
echo "原始数据: $data<br>";
echo "加密后: $encrypted<br>";
echo "解密后: $decrypted<br>";
?>

3、检测是否支付OPENSSL,或用phpinfo();

复制代码
openssl version

上述代码中,openssl_private_encrypt 用于使用私钥加密数据,openssl_public_decrypt 用于使用公钥解密数据。请确保你已经生成了正确的私钥和公钥文件,并将它们加载到 PHP 中,以便进行加密和解密操作。

需要注意的是,这只是一个简单的示例,实际应用中可能需要更多的安全性和错误处理。此外,OpenSSL 支持的加密算法不仅仅是 RSA,你可以根据需要选择不同的加密算法。安全性和密钥管理也是非常重要的,因此确保密钥的保护和管理是一个重要的安全实践。

相关推荐
若风的雨6 分钟前
【 ARMv8多核处理器启动方案设计】
linux·arm开发
是火云哦6 分钟前
打包你的开发环境:Docker 从入门到上瘾
运维·docker·容器
迷路爸爸18014 分钟前
无sudo权限远程连接Ubuntu服务器安装TeX Live实操记录(适配VS Code+LaTeX Workshop,含路径选择与卸载方案)
java·服务器·ubuntu·latex
我送炭你添花14 分钟前
树莓派 3B+ 部署 TR-069 ACS(自动配置服务器)GenieACS 实录
运维·服务器·网络协议
皓月盈江19 分钟前
MoonBit国产编程语言创建新包和使用新包
linux·moonbit·国产编程语言·moonbit教程·moonbit创建包·moonbit使用包
扫地生大鹏23 分钟前
阿里云大模型服务器安装SNMP包启发
运维·服务器
2601_9496130227 分钟前
flutter_for_openharmony家庭药箱管理app实战+用药提醒列表实现
服务器·前端·flutter
今晚打佬虎28 分钟前
精准阻断 Docker 容器映射端口:流量路径诊断与 iptables 配置
运维·docker·容器
honsor33 分钟前
机房/档案室专用以太网温湿度传感器:智能监控赋能环境安全
运维·网络·物联网·安全
小白郭莫搞科技33 分钟前
鸿蒙跨端框架Flutter学习:ListView卡片样式详解
linux·服务器·windows