urban 5cc30c4fee first commit 10 月之前
..
src 5cc30c4fee first commit 10 月之前
test 5cc30c4fee first commit 10 月之前
.coveralls.yml 5cc30c4fee first commit 10 月之前
.gitignore 5cc30c4fee first commit 10 月之前
.travis.yml 5cc30c4fee first commit 10 月之前
LICENSE 5cc30c4fee first commit 10 月之前
README.md 5cc30c4fee first commit 10 月之前
composer.json 5cc30c4fee first commit 10 月之前
composer.lock 5cc30c4fee first commit 10 月之前
phpunit.xml.dist 5cc30c4fee first commit 10 月之前

README.md

php-secp256k1 Build Status Coverage Status

$ composer require kornrunner/secp256k1

Usage

Sign a message:

<?php

require_once 'vendor/autoload.php';

use kornrunner\Secp256k1;
use kornrunner\Serializer\HexSignatureSerializer;

$secp256k1 = new Secp256k1();

// return signature contains r, s and recovery param (v).
// message and privateKey are hex strings
$signature = $secp256k1->sign($message, $privateKey);

// get r
$r = $signature->getR();

// get s
$s = $signature->getS();

// get recovery param
$v = $signature->getRecoveryParam();

// encode to hex
$serializer = new HexSignatureSerializer();
$signatureString = $serializer->serialize($signature);

// or you can call toHex
$signatureString = $signature->toHex();

Verify a message:

<?php

require_once 'vendor/autoload.php';

use kornrunner\Secp256k1;

$secp256k1 = new Secp256k1();

// signature was created by sign method
// hash and publicKey are hex strings
$isVerified = $secp256k1->verify($hash, $signature, $publicKey);

License

MIT

Crypto

ETH 0x9c7b7a00972121fb843af7af74526d7eb585b171