【PHP】openssl_encrypt、openssl_decrypt对称加密解密

目录

1.加密解密封装类

2.调用方法

3.打印结果


1.加密解密封装类


php 复制代码
<?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.调用方法


php 复制代码
    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

相关推荐
yuniko-n6 小时前
【JUC】volatile 非原子性深入解析
java
TechWayfarer6 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
sun_weitao7 小时前
极简版 MCP 工具实现方案
java·linux·服务器
金銀銅鐵8 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
布吉岛的石头8 小时前
Java 程序员第 50 阶段3:数据工程:预训练语料清洗与去重
java·开发语言·人工智能·深度学习·transformer
大文说跨境9 小时前
防关联浏览器的指纹覆盖到什么程度:六类参数的实测与自检方法
java·指纹浏览器·tiktok运营
4SAPI9 小时前
内容生成与文本润色场景下的大模型 API 聚合网关选型指南
人工智能·gateway·php
Carol06309 小时前
上肢及肩肘关节
java·服务器·数据库
yliucherish9 小时前
Log4Shell 复现实录:我读 OpenJDK 源码,发现两道防线的默认值竟然相反
java
维拉德9 小时前
Java新人第一次接打标需求:从抓包找接口到客户端展示
java