PHP code example of unntech / encrypt
1. Go to this page and download the library: Download unntech/encrypt library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
unntech / encrypt example snippets
use UNNTech\Encrypt\WebToken;
// 生成 token
$token = WebToken::instance('aes key')->getToken(['sub'=>123], 600);
// 校验token及获取数据
$data = WebToken::instance()->verifyToken($token);
use UNNTech\Encrypt\AES;
$aes = new AES('key');
// 加密
$ciphertext = $aes->encrypt('plaintext');
// 解密
$plaintext = $aes->decrypt($ciphertext);
use UNNTech\Encrypt\ECDSA;
$ecdsa = new ECDSA();
//生成ECDSA公私钥
$c = $ecdsa->createKey();
var_dump($c);
$publicKey = $c['public'];
$privateKey = $c['private'];
$ecdsa = new ECDSA( $publicKey, $privateKey );
$data = '测试ECDSA数据';
//生成ECDSA签名
$sign = $ecdsa->sign( $data );
//验证ECDSA签名
$y = $ecdsa->verifySign( $data, $sign );
var_dump( $sign, $y );
$arr = ['order'=>'20200826001','money'=>200];
//生成ECDSA签名数据数组
$arr = $ecdsa->signArray($arr);
//验证ECDSA签名数组
$y = $ecdsa->verifySignArray($arr);
var_dump($arr,$y);
//ECIES加密
$x = $ecdsa->encrypt( $data );
var_dump( $x );
//ECIES解密
$y = $ecdsa->decrypt( $x['ciphertext'], $x['tempPublicKey'], $x['iv'], $x['mac'], $x['code'] );
var_dump( $y );
use UNNTech\Encrypt\RSA;
//生成RSA公私钥
$rsa = new RSA();
$c = $rsa->createKey();
var_dump($c);
$publicKey = $c['public'];
$privateKey = $c['private'];
$rsa = new RSA( $publicKey, $privateKey );
$data = '测试RSA2';
//生成RSA签名
$sign = $rsa->sign( $data );
//验证RSA签名
$y = $rsa->verifySign( $data, $sign );
var_dump( $sign, $y );
$arr = ['order'=>'20200826001','money'=>200];
//生成RSA签名数据数组
$arr = $rsa->signArray($arr);
//验证RSA签名数组
$y = $rsa->verifySignArray($arr);
var_dump($arr,$y);
//RSA加密
$x = $rsa->encrypt( $data );
//RSA解密
$y = $rsa->decrypt( $x );
var_dump( $x, $y );
use UNNTech\Encrypt\Request;
$data = [
'order_id' => 123,
'money' => 1001.23,
];
$req = Request::instance(['secret'=>'secret_key', 'signType'=>'SHA256'])::headers(['app'=>'IOS', 'access_token'=>'token'])::generate($data, 'array');
var_dump($req);
$request = json_encode($req);
dv($request);
$c = Request::verifySign($req);
if($c){
echo "Verify Sign Success. <BR>\n";
}else{
echo "Verify Sign Fail. <BR>\n";
}
use UNNTech\Encrypt\Response;
$data = ['abc'=>123];
Response::instance(['secret' => 'secret_key', 'signType'=>'SHA256'])::success($data);
// 验证请求的数据是否合法
Response::instance(['secret' => 'secret_key'])::verifySign($request)