在线客服

RSA非对称加密数据传输代码PHP编写实例

⏱️2025-08-09 09:00 👁️4

PHP实现RSA非对称加密数据传输示例 🚀

RSA是一种常用的非对称加密算法,通常用于安全地传输敏感数据。其基本原理是:用公钥加密数据、私钥解密数据。下面为你展示一个使用PHP进行RSA加密和解密的简单实例。

准备工作 🔧

  1. 生成RSA密钥对(可通过openssl工具或在线网站)
  2. 在PHP代码中保存好私钥和公钥内容

1. 生成密钥对(命令行操作)

openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem

2. 示例代码

以下PHP代码中,假设已将密钥内容赋值到变量

<?php
// 公钥与私钥内容
$publicKey = file_get_contents('public.pem');
$privateKey = file_get_contents('private.pem');

// 原始数据
$data = "Hello, RSA 非对称加密!";

// 公钥加密 ✉️
if (openssl_public_encrypt($data, $encrypted, $publicKey)) {
    echo "<h4>加密后的内容:</h4>";
    $encrypted_base64 = base64_encode($encrypted);
    echo "<div style='word-break:break-all;background:#f0f0f0;padding:8px;'>$encrypted_base64</div>";
} else {
    echo "加密失败!";
}

// 私钥解密 🔑
if (isset($encrypted)) {
    if (openssl_private_decrypt($encrypted, $decrypted, $privateKey)) {
        echo "<h4>解密后的内容:</h4>";
        echo "<div style='background:#e0ffe0;padding:8px;'>$decrypted</div>";
    } else {
        echo "解密失败!";
    }
}
?>

代码说明 📖

  • openssl_public_encrypt():使用公钥对数据进行加密;
  • openssl_private_decrypt():用私钥对数据进行解密;
  • 加密结果通常用base64编码,方便传输和显示。

常见应用场景 🌐

  • 安全地向服务器发送登录凭证、敏感信息
  • 数据签名与验证
  • 防止中间人攻击等安全风险

注意事项 ⚠️

  • RSA不适合加密大量数据,通常只加密“对称密钥”或小块数据
  • 密钥要妥善保管,避免泄露
  • 生产环境建议使用更完善的加密库(如libSodium等进阶库)

🎉 以上就是PHP版RSA非对称加密/解密的基本用法,希望对你有所帮助!

国际云自助平台

官方授权代理商,提供阿里云国际账号快速注册与开通服务!