gmajor / sr25519-bindings
sr25519 绑定
dev-main
2023-02-23 00:27 UTC
Requires
- php: >=8.0
- ext-ffi: *
Requires (Dev)
- phpunit/phpunit: ^5.7 || ^9.3.0
This package is auto-updated.
Last update: 2024-09-23 04:02:18 UTC
README
PHP 绑定用于 sr25519 加密库的 GOLANG 实现
参考 https://github.com/ChainSafe/go-schnorrkel
安装
composer require gmajor/sr25519-bindings
构建
要求
- PHP 7 >= 7.4.0,PHP 8 FFI 支持
- GOLANG (>1.15)
构建
cd go && go build -buildmode=c-shared -o sr25519.so . && mv sr25519.so ../src/Crypto/sr25519.so
基本用法
自动加载
编码器支持 PSR-4
自动加载器。
<?php # When installed via composer require_once 'vendor/autoload.php';
密钥对
初始化 sr25519 密钥对
<?php use Crypto\sr25519; $sr = new sr25519(); $secretSeed = "..."; $pair = $sr->InitKeyPair("{$secretSeed}");
签名消息
您可以通过传递消息来签名消息
<?php use Crypto\sr25519; $sr = new sr25519(); $sr->Sign($sr->InitKeyPair("secretSeed"), "msg");
验证签名
验证签名证明
<?php use Crypto\sr25519; $sr = new sr25519(); $sr->VerifySign($sr->InitKeyPair("secretSeed"), "helloworld", "signature");
XXHash 64 支持
https://github.com/pierrec/xxHash/xxHash64 的实现
<?php use Crypto\sr25519; $sr = new sr25519(); $sr->XXHash64CheckSum(0, "helloworld");
测试
make test
资源
许可
该软件包在 MIT 许可证 下作为开源软件提供