[phpseclib 2.0在包含autoload.php之后不起作用

问题描述 投票:0回答:1

我正在使用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';
?>
  • 此.php位于:public_html / Auth
  • 自动加载位于:public_html / vendor / autoload.php
  • Composer文件夹位于:public_html / vendor / composer

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

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

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

php phpseclib
1个回答
0
投票

假设您正确设置了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';
?>

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

当您访问带有示例的任何页面时,您应该会看到一个如下所示的弹出窗口:

enter image description here

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.