yakeing / php_jwsign
这是一个数据加密和解密的类
v1.2.0
2019-08-06 09:02 UTC
Requires
- php: >=5.6
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: 5.7
README
这是一个通过 Openssl 封装的函数,用于签名和验证数据,确保原始数据的完整性和安全性。
Travis CI 徽章
codecov 徽章
Github 徽章
安装
使用 Composer 安装库。当然,您也可以前往 Packagist 查看。
$ composer require yakeing/php_jwsign
JWSign 初始化
$jwsign = new jwsign(); $jwsign->SetPrivate($accesskey);
获取公钥
$Pubkey = $jwsign->GetPubkey(); var_dump($Pubkey); array(3) { ["pub"]=>string(451) "-----BEGIN PUBLIC KEY-----\nMIIBIjA....NjQIDAQA\n-----END PUBLIC KEY----" ["bits"]=>int(2048) ["kid"]=>string(43) "cjbdM-CeRfP...5BNYQuksIIgmk" }
签名消息
$Message = base64_encode(' { "method":"pay", "charset":"utf-8", "version":"1.0", "token":"NAM...YgV" } '); $JsonStr = $jwsign->SignMessage($Message); var_dump($JsonStr); string(557) "{ "message":"eyJtZXRiO...Z1YifQ==", "nonce":"MmlhaDE1MD...MTgwLjEwNDc1OTAw", "kid":"cjOdM-CORfPGa...j-0I5BNYQuksIIgmk", "sign":"hXvBULK2wSroVFZ...-HYHG7l8Epixikg" }"
公钥验证
$value = '{ "message":"eyJtZXRiO...Z1YifQ==", "nonce":"MmlhaDE1MD...MTgwLjEwNDc1OTAw", "kid":"cjOdM-CORfPGa...j-0I5BNYQuksIIgmk" }'; $sign = 'hXvBULK2wvSroVFZ...-HKbHGDYHG7l8Epixikg'; $pub = '-----BEGIN PUBLIC KEY-----\nMIIBIjA....NjQIDAQA\n-----END PUBLIC KEY----'; $Str = $jwsign->PubkeyVerify($value, $sign, $pub); var_dump($Str); bool(true)
获取消息
$value = '{ "message":"eyJtZXRiO...Z1YifQ==", "nonce":"MmlhaDE1MD...MTgwLjEwNDc1OTAw", "kid":"cjOdM-CORfPGa...j-0I5BNYQuksIIgmk" }'; $Str = json_decode($value, true); var_dump(base64_decode($Str['message'])); string(100) "{ "method":"pay", "charset":"utf-8", "version":"1.0", "token":"NAM...YgV" }"
赞助
如果您从我创建的任何内容中获得了价值,那么我非常感激您通过支付捐赠来支持我。
作者
微博: yakeing
推特: yakeing