You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用phpseclib3通过RSA算法利用指定公钥加密数据?

使用phpseclib3通过自定义公钥加密数据

要使用自己的公钥而非自动生成的密钥完成加密,只需通过RSA::loadPublicKey()方法加载你的公钥即可,具体实现如下:

代码示例

<?php
require 'vendor/autoload.php';

use phpseclib3\Crypt\RSA;

// 替换为你的公钥内容(支持PEM格式的PKCS#1或PKCS#8公钥)
$customPublicKey = '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxQ...(此处省略完整公钥内容)
-----END PUBLIC KEY-----';

// 加载自定义公钥
$publicKey = RSA::loadPublicKey($customPublicKey);

// 待加密的明文数据
$plaintext = '需要加密的部分数据';

// 执行加密,返回二进制密文
$ciphertext = $publicKey->encrypt($plaintext);

// 可选:将二进制密文转为Base64编码,便于存储或传输
$encodedCiphertext = base64_encode($ciphertext);
echo $encodedCiphertext;
?>

关键说明

  • 公钥需为标准PEM格式,无论PKCS#1(BEGIN RSA PUBLIC KEY)还是PKCS#8(BEGIN PUBLIC KEY)格式,phpseclib3都能自动识别加载
  • 若公钥存储在文件中,可通过file_get_contents('/path/to/your/public_key.pem')读取后加载
  • 加密结果为二进制数据,直接输出可能出现乱码,建议转为Base64或十六进制格式处理

内容的提问来源于stack exchange,提问作者Mp. Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:15:32