PHP7 后 mcrypt_module_open方法已舍弃不可以,需要使用openssl_encrypt加密
加密方法:openssl_encrypt($data, $method, $password, $options, $iv)详解:
$data:加密的明文;
$method:加密方法【DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB】
$passwd :加密密钥[密码
$options: 数据格式选项(可选)【选项有:0,、OPENSSL_RAW_DATA=1、OPENSSL_ZERO_PADDING=2、OPENSSL_NO_PADDING=3】
$iv:密初始化向量(可选)
解密方法:openssl_decrypt($data, $method, $password, $options, $iv)详解:
$data: 要解密的数据, 参数与加密一样
上代码(?cbc模式 pkcs5 128加密解密?)加密解密可在这里验证http://tool.chacuo.net/cryptaes
<?php
class testAes{
private $iv = '0102030405060708'; // 偏移量 16
private $key = '1234567891234567'; // 密码 随便
// 加密
public function encrtyp($str){
$data = openssl_encrypt($str, 'aes-128-cbc', $this->key, OPENSSL_RAW_DATA, $this->iv);
return base64_encode($data);
}
// 解密
public function decrtyp($str){
$data = base64_decode($str);
return openssl_decrypt($data, 'aes-128-cbc',$this->key, OPENSSL_RAW_DATA, $this->iv);
}
}
$obj = new testAes();
echo $str = $obj->encrtyp('567');
echo '<br />';
echo $obj->decrtyp($str);
?>
|