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);//解密