PHP Неустранимая ошибка: необученная ошибка: класс 'Elliptic \ E C' не найден - PullRequest
0 голосов
/ 02 мая 2020

Я хочу сгенерировать закрытые / публичные c ключи с использованием Ellipti c Кривая криптографии в 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 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

то, что я пропустил, помогите, пожалуйста, помогите ? Я ищу проблему, но у меня не было учебника.

1 Ответ

0 голосов
/ 02 мая 2020

попробуйте включить файл с классом или, если существует, 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";
...