当前位置: 网学 > 编程文档 > PHP > 正文

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/18

【编者按】:网学网PHP为您提供PHP可逆加密/解密函数分享参考,解决您在PHP可逆加密/解密函数分享学习中工作中的难题,参考学习

函数源码
复制代码 代码如下:
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, $key, $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, 0, strlen($str) - $pad);
}
return unserialize($str);
}

调用函数
复制代码 代码如下:
$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);

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号