php openssl加密解密函数
<?php /** * openssl 加密函数 * * @ $entry 需要加密的内容 * @ $key 加密的 key,需要与解密的 key 值要一致 * @ $iv 盐值 * * 加默认值是为了防止程序报错,实际使用中不要使用默认值 */ function encrypt($entry, $key = 'viPTaL16hmhjs6LD', $iv = '0iX6Bsjt39SnM1aI7FE3'){ $entry = serialize($entry); $data['iv'] = base64_encode(substr($iv,0,16)); $data['value'] = openssl_encrypt($entry, 'AES-256-CBC',$key,0,base64_decode($data['iv'])); $encrypt = base64_encode(json_encode($data)); return $encrypt; } /** * openssl 解密函数 * * @ $encrypt 需解密的内容 * @ $key 解密的 key,需要与加密的 key 值一致 * * 加默认值是为了防止程序报错,实际使用中不要使用默认值 */ function decrypt($encrypt, $key = 'viPTaL16hmhjs6LD'){ $encrypt = json_decode(base64_decode($encrypt), true); $iv = base64_decode($encrypt['iv']); $decrypt = openssl_decrypt($encrypt['value'], 'AES-256-CBC', $key, 0, $iv); $result = unserialize($decrypt); if($result){ return $result; }else{ return 0; } } //key 值,不要用默认值 $key = 'xCjs52kKvSmfBYcwK3b1t2RT'; //盐值,不要用默认值 $iv = '1AMyFRwlPt6TJLxljpdSvQVn'; //原内容 $str = '清晨,一缕阳光从窗外照了进来,雨后的空气格外清新。'; $encry = encrypt($str, $key, $iv); //加密后的内容 echo $encry . '<br>'; //解密后的内容 echo decrypt($encry, $key);