This is a function wrapping through the Openssl
to sign and validate the data, which ensures the integrity and security of the original data.
Use Composer to install the library. Of course, You can go to Packagist to view.
$ composer require yakeing/php_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"
}"
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.
weibo: yakeing
twitter: yakeing