laravel 使用 RSA public 密钥加密 AES 密钥

laravel encrypt the AES key with RSA public Key

我已经生成了一个自定义 AES 密钥,我需要用 RSA public 密钥加密这个 AES 密钥。

我们如何在 Laravel

中做到这一点

如有任何建议,我们将不胜感激。

$aesKey = base64_encode(Encrypter::generateKey('AES-128-CBC'));

我找到了一个解决方案并且似乎有效

通过 composer 安装 phpseclib

composer require phpseclib/phpseclib
use phpseclib\Crypt\RSA as Crypt_RSA;

$rsa = new Crypt_RSA();
$rsa->loadKey($publickey);
$rsa->setEncryptionMode(2);
$data = 'Your String';
$output = $rsa->encrypt($data);
echo base64_encode($output);