在 PHP 中使用 RSA/ECB/PKCS1Padding 加密数据

问题描述

我必须使用 PHP 中的非对称加密对生成的 simetric 密钥 (AES-256-CBC) 进行加密。我获得了应该使用的公共证书(CER 文件)。 我试着这样做:

$fp = fopen('publickey.cer','r');
$pub_key = fread($fp,filesize('publickey.cer'));
fclose($fp);

openssl_public_encrypt($enc,$final,$pub_key,OPENSSL_PKCS1_PADDING);

其中 $enc 是我的对称密钥

我收到的输出 ($final) 不正确。

运行良好的 Java 代码如下所示:

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding") ;
cipher.init(Cipher.ENCRYPT_MODE,x509Certificate.getPublicKey());
return cipher.doFinal(bytes) ;

如何将其转换为 PHP

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)