«

PHP使用AES加密解密的方法实例

时间:2024-3-3 10:43     作者:韩俊     分类: PHP


PHP实例操作AES的加密和解密,说明一下AES.php文件中所涉及base64_的,西部数码主机为了安全不允许有这种字符,所以在下划线后增加了空格,需要使用的朋友,把空格自己去一下,要不然博文上传不了。

AES.php

<?php
class Aes
{
    public $key = '';
    public $iv = '';
    public function __construct($config)
    {
        foreach($config as $k => $v){
        $this->$k = $v;
    }
}
//加密
public function aesEn($data){
    return  base64_ encode(openssl_encrypt($data, $this->method,$this->key, OPENSSL_RAW_DATA , $this->iv));  
}

//解密
public function aesDe($data){
    return openssl_decrypt(base64_ decode($data),  $this->method, $this->key, OPENSSL_RAW_DATA, $this->iv);
}
}
?>

PHP调用AES加密实际调用:

$aes_config = [
    'key'=>'abc@123456', //加密key 
    'iv'=>  md5(time(). uniqid(),true), //保证偏移量为16位
    'method'=> 'AES-128-CBC' //加密方式  # AES-256-CBC等
];

$obj = new Aes($aes_config);
$res = $obj->aesEn('你好毛票票');//加密数据
echo $res;
echo '<hr>';
echo $obj->aesDe($res);//解密


标签: php php教程

热门推荐