class RSA{
private $public_key_resource = ''; //公钥资源
private $private_key_resource = ''; //私钥资源
/**
* 构造函数
* @param [string] $public_key [公钥数据字符串]
* @param [string] $private_key [私钥数据字符串]
*/
public function __construct($public_key,$private_key) {
$this->public_key_resource = !empty($public_key) ? openssl_pkey_get_public($this->get_public_key($public_key)) : false;
$this->private_key_resource = !empty($private_key) ? openssl_pkey_get_private($this->get_private_key($private_key)) : false;
}
/**
获取私有key字符串 重新格式化 为保证任何key都可以识别
*/
public function get_private_key($private_key){
$search = [
"-----BEGIN RSA PRIVATE KEY-----",
"-----END RSA PRIVATE KEY-----",
"\n",
"\r",
"\r\n"
];
$private_key=str_replace($search,"",$private_key);
return $search[0] . PHP_EOL . wordw
RSA 加密与解密(干货)
最新推荐文章于 2024-04-13 09:59:12 发布
本文详细介绍了RSA加密算法的原理及其实现过程,特别提醒在使用PHP进行RSA加密解密时,需要正确处理公钥私钥文件中的填充数据,以避免解密错误。
摘要由CSDN通过智能技术生成