RSA 解密错误地在 php 中使用 phpseclib


RSA decryption in error in php using phpseclib

嗨,我正在尝试使用 phpseclib 解密消息。我得到的错误是

"Class 'phpseclib'Crypt'Base' not found"

我正在使用以下网址中的解密代码:

http://www.sitepoint.com/encrypt-large-messages-asymmetric-keys-phpseclib/

看起来您使用的版本正在使用命名空间。这意味着您使用的是phpseclib 2.0或github上主分支中的版本。在这种情况下,您需要做的是使用符合 PSR-4 标准的自动加载机。

最好的方法是使用 Composer 将 phpseclib 安装为依赖项。 例如,通过项目目录中的 CLI 执行composer require phpseclib/phpseclib:~2.0,然后执行以下操作:

<?php 
require __DIR__ . '/vendor/autoload.php' 
use phpseclib'Crypt'RSA; 
$rsa = new RSA();

但是,如果您不想这样做,您也应该能够这样做:

<?php
include('autoload.php'); // https://raw.githubusercontent.com/composer/composer/master/src/Composer/Autoload/ClassLoader.php 
$loader = new 'Composer'Autoload'ClassLoader(); 
$loader->addPsr4('phpseclib''', __DIR__.'/path/to/phpseclib'); 
$loader->register();
use 'phpseclib'Crypt'RSA;
$rsa = new RSA();