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)