包含autoload.php

我正在使用Composer,这是我第一次尝试使用phpseclib。我找不到相关的文档或任何Wiki,就像没有任何信息一样。

我尝试搜索stackoverflow,但仍然无法正常工作。

这是我的.php文件:

<?php
require __DIR__ . '/../vendor/autoload.php';

$loader = new Composer\Autoload\ClassLoader();
$loader->addPsr4('phpseclib\\',__DIR__ . '/../vendor/phpseclib/');
$loader->register();

use phpseclib\Crypt\RSA;

$rsa = new Crypt_RSA();

$plaintext = 'terrafrost';

$rsa->loadKey($privatekey);
$signature = $rsa->sign($plaintext);

$rsa->loadKey($publickey);
echo $rsa->verify($plaintext,$signature) ? 'verified' : 'unverified';
?>

这是错误:[23-Mar-2020 14:04:51 UTC] PHP Fatal error: require(): Failed opening required '[23-Mar-2020 00:53:12 UTC] PHP Fatal error: Uncaught Error: Class 'Crypt_RSA' not found in /home/123/domains/asd.com/public_html/Auth/test.php:93

  • 此.php位于:public_html / Auth
  • 自动加载程序位于:public_html / vendor / autoload.php
  • Composer文件夹位于:public_html / vendor / composer

我需要做的就是RSA签名和验证。还需要能够为RSA生成密钥对。

如果有关于phpseclib的任何文档或维基,请告诉我。我在他们的Github上找不到任何东西。他们链接到此页面Sourceforge,但是它是针对1.0的,我只能找到1个针对2.0的示例。就像我见过的最糟糕的文档库。

如果有人知道更好的库,请告诉我,我使用这个库而不是openssl,因为我需要PSS填充。

bo329127283 回答:包含autoload.php

假设您正确设置了Composer,然后尝试以下操作:

<?php
require __DIR__ . '/vendor/autoload.php';

use phpseclib\Crypt\RSA;

$rsa = new RSA();

$plaintext = 'terrafrost';

$rsa->loadKey($privatekey);
$signature = $rsa->sign($plaintext);

$rsa->loadKey($publickey);
echo $rsa->verify($plaintext,$signature) ? 'verified' : 'unverified';
?>

与您帖子中的代码的主要区别在于,它不是在执行$rsa = new Crypt_RSA();,而是在执行$rsa = new RSA();。它还会删除不必要的自动加载内容。毫无疑问,您从http://phpseclib.sourceforge.net/2.0.html那里获得了额外的代码,但是该代码不包含__DIR__ . '/vendor/autoload.php'-它包含的ClassLoader.php重命名为autoload.php。

如果有关于phpseclib的任何文档或维基,请告诉我。我在他们的Github上找不到任何东西。他们链接到此页面Sourceforge,但它用于1.0,我只能找到1个用于2.0的示例。

当您访问带有示例的任何页面时,您应该会看到一个类似于以下内容的弹出窗口:

enter image description here

选择2.0,然后您将看到2.0的示例。

这就像我见过的最糟糕的文档库。

我想您还没有看到https://www.openssl.org/docs/大声笑。无论如何,对此有两个评论:

本文链接:https://www.f2er.com/2600175.html

大家都在问