当前位置:首页 > PHP教程 > PHP高级教程

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

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 "解密成功!";
?>

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!