php-license是一个用于生成和解析许可证(license)的库
php-license是一个用于生成和解析许可证(license)的库
PHP 安全相关
共83Star
详细介绍
PHP License
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.
-
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 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" => "john_doe@email.com",
];
$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": "john_doe@email.com"
}
Contributions
Feel free to submit pull requests, create issues or spread the word.
License
MIT © Zeeshan Ahmad
-
1099 Star
-
1737 Star
-
53 Star
-
84 Star
-
0 Star
-
2044 Star
-
95 Star
-
106 Star
-
0 Star
-
1530 Star