PHP base64+gzinflate压缩编码和解码代码
前端之家收集整理的这篇文章主要介绍了
PHP base64+gzinflate压缩编码和解码代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
base64+gzinflate压缩编码(加密)过的文件通常是以 <? eval(gzinflate(base64_decode( 为头的一个PHP文件。以下我们给出了相关的编码解码(加密解密)代码。
压缩编码(加密)代码:
<div class="codetitle">
<a style="CURSOR: pointer" data="20397" class="copybut" id="copybut20397" onclick="doCopy('code20397')"> 代码如下: <div class="codebody" id="code20397">
<?
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,$encode);
}
}
return false;
}
//
调用函数 $filename='g:\我的文档\桌面\test.
PHP';
encode_file_contents($filename);
?>