ingress-it-solutions / generator
PHP library for generating and parsing data
1.9.7
2023-02-02 19:08 UTC
Requires
- php: >=5.4
- ext-json: *
- ext-openssl: *
Requires (Dev)
- phpstan/phpstan: ^0.11.1
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^3.4
README
Generator
generator
is a library for generating and parsing data.
Requirements
- PHP >= 5.4
- OpenSSL
Generating Key Pair
Make sure OpenSSL is configured on your machine.
-
Generate the Private key file by running the following command:
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
-
Run the following command to generate public key:
openssl rsa -pubout -in private_key.pem -out public_key.pem
Installation
composer require ingress-it-solutions/generator
Usage
Before running the following code make sure you have the public_key
and private_key
files.
Generating
Use the following code to generate the license key:
<?php use IngressITSolutions\Generator\Generator; $data = [ "firstName" => "John", "lastName" => "Doe", "email" => "john_doe@email.com", ]; $privateKey = file_get_contents('path/to/private_key.pem'); $license = Generator::generate($data, $privateKey); var_dump($license);
The above code will output the following result:
agW4Riht6xHEfbpDaZUcTCmZVHgGgCnzXc0+nqLAMjuS6ouuGQVv/JqjAuo89tUgTu3F7Q+WProPcNm1aXdavxj3xOxTJ3e2w0NSS09sBZONxG9MzzofqvYPCnu/I1WMLgaRXiiNJcz5WtqFLFSdTgehqU5VLO+eDhfWUeZ0EJlCtCLPu19hP56/+24+/tmnh4ySLc9tV+YGLYtpmt7Gyf+h3sbMO0SJMwe+XSuuTcUsIUDg3AQUlj7c4ctwhkdYkRyyjj27U09CgpWWgU5b3sXSqZ3DFdTNaP8sIVH3Y39b7/o+Gx7WIHzngCnczK58L81LTVwnkyzSBqKUT5oq4A==
Parsing
Use the following code to parse the license key:
<?php use IngressITSolutions\Generator\Generator; $license = 'agW4Riht6xHEfbpDaZUcTCmZVHgGgCnzXc0+nqLAMjuS6ouuGQVv/JqjAuo89tUgTu3F7Q+WProPcNm1aXdavxj3xOxTJ3e2w0NSS09sBZONxG9MzzofqvYPCnu/I1WMLgaRXiiNJcz5WtqFLFSdTgehqU5VLO+eDhfWUeZ0EJlCtCLPu19hP56/+24+/tmnh4ySLc9tV+YGLYtpmt7Gyf+h3sbMO0SJMwe+XSuuTcUsIUDg3AQUlj7c4ctwhkdYkRyyjj27U09CgpWWgU5b3sXSqZ3DFdTNaP8sIVH3Y39b7/o+Gx7WIHzngCnczK58L81LTVwnkyzSBqKUT5oq4A=='; $publicKey = file_get_contents('path/to/public_key.pem'); $parsedLicense = Generator::parse($license, $publicKey); var_dump($parsedLicense);
The above code will output the following result:
{ "firstName": "John", "lastName": "Doe", "email": "john_doe@email.com" }
Contributions
Feel free to submit pull requests, create issues or spread the word.
License
MIT © Ingress IT Solutions