使用phpseclib在php中解密错误

时间:2016-02-22 06:42:49

标签: php rsa cakephp-3.0 phpseclib

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

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

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

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

1 个答案:

答案 0 :(得分:0)

看起来您正在使用的版本是使用命名空间。这意味着您正在使用phpseclib 2.0或github上的master分支中的版本。在这种情况下,您需要做的是使用符合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();