嗨,我正在尝试使用 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();