当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP base64+gzinflate压缩编码和解码代码

PHP
php中处理模拟rewrite 效果
粗略计算在线时间,bug:ip相同
function.inc.php超越php
global.php
Php部分常见问题总结
使用PHP数组实现无限分类,不使用数据库,不使用递归.
E路文章系统PHP
一周学会PHP(视频)Http下载
《PHP边学边教》(02.Apache+PHP环境配置——上篇)
Linux下PHP+MYSQL+APACHE配置过程 (摘)
中篇:安装及配置PHP
《PHP边学边教》(02.Apache+PHP环境配置——下篇)
傻瓜化配置PHP环境——Appserv
IIS+PHP+MySQL+Zend配置 (视频教程)
php基础知识:控制结构
php基础知识:函数基础知识
php基础知识:类与对象(1)
php基础知识:类与对象(2) 自动加载对象
php基础知识:类与对象(3) 构造函数和析构函数
php基础知识:类与对象(4) 范围解析操作符(::)

PHP base64+gzinflate压缩编码和解码代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 191 ::
收藏到网摘: n/a

base64+gzinflate压缩编码(加密)过的文件通常是以 <? eval(gzinflate(base64_decode( 为头的一个php文件。文中给出了编码和解码的代码。 base64+gzinflate压缩编码(加密)过的文件通常是以 <? eval(gzinflate(base64_decode( 为头的一个php文件。以下我们给出了相关的编码解码(加密解密)代码。
压缩编码(加密)代码:
复制代码 代码如下:

<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
$contents = file_get_contents($filename);// 判断文件是否已经被编码处理
$pos = strpos($contents,'/*Protected by 草名 http://www.crazyi.cn Cryptation*/');
if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小
$contents = php_strip_whitespace($filename);
// 去除PHP头部和尾部标识
$headerPos = strpos($contents,'<?php');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
$encode = base64_encode(gzdeflate($contents));// 开始编码
$encode = '<?php'." /*Protected by 草名 http://www.crazyi.cn Cryptation*/\n eval(gzinflate(base64_decode(".$encode.")));\n /*Reverse engineering is illegal and strictly prohibited- (C)草名 Cryptation 2008*/ \n?>";
return file_put_contents($filename,$encode);
}
}
return false;
}
//调用函数
$filename='g:\我的文档\桌面\test.php';
encode_file_contents($filename);
?>
<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
$contents = file_get_contents($filename);// 判断文件是否已经被编码处理
$pos = strpos($contents,'/*Protected by 草名 http://www.crazyi.cn Cryptation*/');
if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小
$contents = php_strip_whitespace($filename);
// 去除PHP头部和尾部标识
$headerPos = strpos($contents,'<?php');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
$encode = base64_encode(gzdeflate($contents));// 开始编码
$encode = '<?php'." /*Protected by 草名 http://www.crazyi.cn Cryptation*/\n eval(gzinflate(base64_decode(".$encode.")));\n /*Reverse engineering is illegal and strictly prohibited- (C)草名 Cryptation 2008*/ \n?>";
return file_put_contents($filename,$encode);
}
}
return false;
}
//调用函数
$filename='g:\我的文档\桌面\test.php';
encode_file_contents($filename);
?>

压缩解码(解密)代码:
复制代码 代码如下:

<?php
$Code = '这里填写要解密的编码'; // base64编码
$File = 'test.php';//解码后保存的文件
$Temp = base64_decode($Code);
$temp = gzinflate($Temp);
$FP = fopen($File,"w");
fwrite($FP,$temp);
fclose($FP);
echo "解密成功!";
?>