47

GitHub - ziishaned/php-license: PHP library for generating and parsing license

 5 years ago
source link: https://github.com/ziishaned/php-license
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

php-license is a library for generating and parsing license
PHP License

Codecov Build Status 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f747769747465722d74776565742d626c75652e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666565646261636b2d407a69697368616e65642d626c75652e7376673f7374796c653d666c61742d737175617265

php-license is a library for generating and parsing license.

Requirements

  • PHP >= 5.4
  • OpenSSL

Generating Key Pair

Make sure OpenSSL is configured on your machine.

  1. Generate the Private key file by running the following command:

    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
  2. Run the following command to generate public key:

    openssl rsa -pubout -in private_key.pem -out public_key.pem

Installation

composer require ziishaned/php-license

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 Ziishaned\PhpLicense\PhpLicense;

$data = [
  "firstName" => "John",
  "lastName"  => "Doe",
  "email"     => "[email protected]",
];

$privateKey = file_get_contents('path/to/private_key.pem');
$license    = PhpLicense::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 Ziishaned\PhpLicense\PhpLicense;

$license = 'agW4Riht6xHEfbpDaZUcTCmZVHgGgCnzXc0+nqLAMjuS6ouuGQVv/JqjAuo89tUgTu3F7Q+WProPcNm1aXdavxj3xOxTJ3e2w0NSS09sBZONxG9MzzofqvYPCnu/I1WMLgaRXiiNJcz5WtqFLFSdTgehqU5VLO+eDhfWUeZ0EJlCtCLPu19hP56/+24+/tmnh4ySLc9tV+YGLYtpmt7Gyf+h3sbMO0SJMwe+XSuuTcUsIUDg3AQUlj7c4ctwhkdYkRyyjj27U09CgpWWgU5b3sXSqZ3DFdTNaP8sIVH3Y39b7/o+Gx7WIHzngCnczK58L81LTVwnkyzSBqKUT5oq4A==';

$publicKey     = file_get_contents('path/to/public_key.pem');
$parsedLicense = PhpLicense::parse($license, $publicKey);

var_dump($parsedLicense);

The above code will output the following result:

{
    "firstName": "John",
    "lastName": "Doe",
    "email": "[email protected]"
}

Contributions

Feel free to submit pull requests, create issues or spread the word.

License

MIT © Zeeshan Ahmad


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK