tp5的rsa加密

Posted -lsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tp5的rsa加密相关的知识,希望对你有一定的参考价值。

<?php

/**
* Description of Rsa
*
* @author lsf
*/

namespace lib;

class Rsa {

//put your code here
static public $private_parm = null;
static public $public_parm = null;
static public $private_key = null;
static public $public_key = null;

/**
* 构造函数
*/
public function __construct() {

self::$private_parm = config("web.private_parm");
self::$public_parm = config("web.public_parm");
self::$private_key = openssl_pkey_get_private(self::$private_parm);
self::$public_key = openssl_pkey_get_public(self::$public_parm);
}

/**
* 私钥加密
* @param type $data 需要加密额字符串长度小于100
* @return type
*/
static public function privateRncrypt($data) {
$encrypted = "";
$rsa = new Rsa();
openssl_private_encrypt($data, $encrypted, $rsa::$private_key);
return base64_encode($encrypted);
}

/**
* 公钥解密
* @param type $endata 加密后的字符串
* @return string
*/
static public function publicDecrypt($endata) {
$decrypted = "";
$rsa = new Rsa();
openssl_public_decrypt(base64_decode($endata), $decrypted, $rsa::$public_key);
return $decrypted;
}

/**
* 公钥加密
* @param type $data 需要加密额字符串长度小于100
* @return string
*/
static public function publicRncrypt($data) {
$encrypted = "";
$rsa = new Rsa();
openssl_public_encrypt($data, $encrypted, $rsa::$public_key);
return base64_encode($encrypted);
}

/**
* 私钥解密
* @param type $endata 加密后的字符串
* @return string
*/
static public function privateDecrypt($endata) {
$decrypted = "";
$rsa = new Rsa();
openssl_private_decrypt(base64_decode($endata), $decrypted, $rsa::$private_key);
return $decrypted;
}

}

以上是关于tp5的rsa加密的主要内容,如果未能解决你的问题,请参考以下文章

Delphi RSA加解密 (RSA公钥加密,私钥解密)(RSA私钥加密,公钥解密)MD5加密SHA加密

Python的RSA加密和PBE加密

rsa加密原理 RSA加密算法原理是啥

非对称加密及RSA加密算法

postman-rsa加密

Nodejs 使用node-rsa 加密数据