【问题标题】:PHP Fatal error: Uncaught Error: Class 'Elliptic\EC' not foundPHP 致命错误:未捕获的错误:找不到类“Elliptic\EC”
【发布时间】:2020-05-01 21:37:40
【问题描述】:

我想在 PHP 中使用椭圆曲线密码术生成私钥/公钥。

我用过这个库:https://github.com/simplito/elliptic-php

我的代码:

<?php
use Elliptic\EC;

// Create and initialize EC context
// (better do it once and reuse it)
$ec = new EC('secp256k1');

// Generate keys
$key = $ec->genKeyPair();

$publicKey = $key->getPublic('hex');
$privateKey = $key->getPrivate('hex');

// Print the keys to the console

echo "The address1 is {$publicKey}. \r\n";
echo "The address1 is {$privateKey}. \r\n";

但它显示了这个错误:

PHP Fatal error:  Uncaught Error: Class 'Elliptic\EC' not found in /home/istabraq/bctest/test1/keygenerator.php:6

我已经安装作曲家Composer 1.6.3 从本教程: https://linuxize.com/post/how-to-install-and-use-composer-on-ubuntu-18-04/

然后安装sudo apt-get install php7.2-gmp 并安装了composer require simplito/elliptic-php,最后安装了composer require simplito/bn-php,但最后一个命令行显示了这个输出:

Using version ^1.1 for simplito/bn-php
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files

我错过了什么请帮忙?我搜索问题,但没有教程。

【问题讨论】:

标签: php private-key public-key elliptic-curve generate


【解决方案1】:

尝试使用类包含文件或如果存在vendor/autoload.php 包含它,例如:

<?php

include 'path/vendor/autoload.php'; //or 'path/file/EC.php'

use Elliptic\EC;

// Create and initialize EC context
// (better do it once and reuse it)
$ec = new EC('secp256k1');

// Generate keys
$key = $ec->genKeyPair();

$publicKey = $key->getPublic('hex');
$privateKey = $key->getPrivate('hex');

// Print the keys to the console

echo "The address1 is {$publicKey}. \r\n";
echo "The address1 is {$privateKey}. \r\n";

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2018-04-19
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2018-05-11
    相关资源
    最近更新 更多