Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 1, 2025. It is now read-only.
/ php_jwsign Public archive

This is a function wrapping through the Openssl to sign and validate the data, which ensures the integrity and security of the original data.

License

Notifications You must be signed in to change notification settings

yakeing/php_jwsign

Repository files navigation

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 badge

Travis-ci

codecov badge

codecov

Github badge

Downloads Size tag license languages

Installation

Use Composer to install the library. Of course, You can go to Packagist to view.


  $ 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"
 }"

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.

Sponsor

Author

weibo: yakeing

twitter: yakeing

About

This is a function wrapping through the Openssl to sign and validate the data, which ensures the integrity and security of the original data.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /