<?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);
php openssl加密解密函数
最新推荐文章于 2023-02-07 11:24:34 发布