【PHP】openssl_encrypt、openssl_decrypt对称加密解密
2023-12-15 18:40:47
目录
1.加密解密封装类
<?php
namespace app\common\library;
/**
* AES加解密
* Class Client
* @package common\components\wsd
*/
class Aes
{
const KEY = "xxxxxxxxxxxx";
const CIPHER = "AES-128-CBC";
/**
* 加密方法
* @param $data 加密数据
* @return string 加密结果
*/
public static function encrypt($data)
{
$ivlen = openssl_cipher_iv_length(self::CIPHER);
$iv = openssl_random_pseudo_bytes($ivlen);
$encrypted_data = openssl_encrypt($data,self::CIPHER,self::KEY,OPENSSL_RAW_DATA,$iv);
return base64_encode($encrypted_data.":".$iv);
}
/**
* 解密方法
* @param $data 解密数据
* @return false|string 解密结果
*/
public static function decrypt($data)
{
$data = base64_decode($data);
$parts = explode(":",$data);
return openssl_decrypt($parts[0],self::CIPHER,self::KEY,OPENSSL_RAW_DATA,$parts[1]);
}
}
2.调用方法
public function encry(){
$url = 'www.bbb.com';
$params = Aes::encrypt($url);
echo $params.PHP_EOL;
$de = Aes::decrypt($params);
echo $de.PHP_EOL;
}
3.打印结果
FdGY8YgdLHkVA3VUQGb6yzovREvdSAORAZdRwGjJE3y+
www.bbb.com
文章来源:https://blog.csdn.net/q8688/article/details/135022683
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!