1.0.2 • Published 6 years ago
php-jwsign v1.0.2
Json Wed Sign (RSA)
This is a function wrapping through the Openssl to sign and validate the data, which ensures the integrity and security of the original data.
Travis CI
codecov
Packagist
Github
Installation
Use Composer to install the library.
$ composer require yakeing/php_jwsign
JWSign init
$jwsign = new jwsign();
$jwsign->SetPrivate($accesskey);
Get Pubkey
$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"
}
Sign Message
$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"
}"
Pubkey Verify
$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)
Get Message
$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"
}"
Donate
If you've got value from any of the content which I have created, then I would very much appreciate your support by payment donate.
1FYbZECgs3V3zRx6P7yAu2nCDXP2DHpwt8
Alipay
Author
weibo: yakeing
twitter: yakeing