yakeing / php_jwsign
This is a class of data encryption and decryption
Fund package maintenance!
yakeing
github.com/yakeing/Documentation/blob/main/Sponsor/README.md
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 34
Watchers: 2
Forks: 2
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=5.6
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: 5.7
README
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
codecov badge
Github badge
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" }"
Sponsor
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.
Author
weibo: yakeing
twitter: yakeing