加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP可逆加密/解密函数分享

发布时间:2020-05-24 17:18:11 所属栏目:PHP 来源:互联网
导读:很多项目的会员系统,都要求要有记住登录功能,在通过cookies实现功能是,由于要将客户信息直接保存到cookies,如果直接写入cookies势必会带来安全隐患,因此通过可逆加密后再保存到cookies相对就安全了

函数源码
<div class="codetitle"><a style="CURSOR: pointer" data="40057" class="copybut" id="copybut40057" onclick="doCopy('code40057')"> 代码如下:<div class="codebody" id="code40057">
function encrypt($data,$key) {
$prep_code = serialize($data);
$block = mcrypt_get_block_size('des','ecb');
if (($pad = $block - (strlen($prep_code) % $block)) < $block) {
$prep_code .= str_repeat(chr($pad),$pad);
}
$encrypt = mcrypt_encrypt(MCRYPT_DES,$key,$prep_code,MCRYPT_MODE_ECB);
return base64_encode($encrypt);
} function decrypt($str,$key) {
$str = base64_decode($str);
$str = mcrypt_decrypt(MCRYPT_DES,$str,MCRYPT_MODE_ECB);
$block = mcrypt_get_block_size('des','ecb');
$pad = ord($str[($len = strlen($str)) - 1]);
if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/',$str)) {
$str = substr($str,strlen($str) - $pad);
}
return unserialize($str);
}

调用函数
<div class="codetitle"><a style="CURSOR: pointer" data="31771" class="copybut" id="copybut31771" onclick="doCopy('code31771')"> 代码如下:<div class="codebody" id="code31771">
$key = 'okyo.cn';
$data = array('id' => 100,'username' => 'customer','password' => 'e10adc3949ba59abbe56e057f20f883e');
$snarr = serialize($data);
$en = encrypt($data,$key);
$de = decrypt($en,$key);
echo "加密原型:";
print_r($data);
echo "
密钥:$key 加密结果:$en 解密结果:";
print_r($de);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读