php实现基于openssl的加密解密方法
<?php class openssl{ private $key = 'key'; public $id = ''; function encrypt($id){ $id=serialize($id); $this->id = $id; $key= $this->key; $data['iv']=base64_encode(substr('fdakinel;injajdji',0,16)); $data['value']=openssl_encrypt($id, 'AES-256-CBC',$key,0,base64_decode($data['iv'])); $encrypt=base64_encode(json_encode($data)); return $encrypt; } function decrypt($encrypt){ $key = $this->key;//解密钥匙 $encrypt = json_decode(base64_decode($encrypt), true); $iv = base64_decode($encrypt['iv']); $decrypt = openssl_decrypt($encrypt['value'], 'AES-256-CBC', $key, 0, $iv); $id = unserialize($decrypt); if($id){ return $id; }else{ return 0; } } } $obj = new openssl(); $encrypt = $obj->encrypt('1'); echo $obj->decrypt($encrypt);