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


Posted in PHP onOctober 03, 2008

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 "解密成功!"; 
?>
PHP 相关文章推荐
提问的智慧
Oct 09 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php实现水仙花数的4个示例分享
Apr 08 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
php事务处理实例详解
Jul 11 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
PHP页面跳转实现延时跳转的方法
Dec 10 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
PDO::getAttribute讲解
Jan 28 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 #PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 #PHP
smarty section简介与用法分析
Oct 03 #PHP
php相当简单的分页类
Oct 02 #PHP
php仿discuz分页效果代码
Oct 02 #PHP
php仿ZOL分页类代码
Oct 02 #PHP
php生成缩略图的类代码
Oct 02 #PHP
You might like
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
PHP 数组遍历顺序理解
2009/09/09 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
php中stream(流)的用法
2014/03/25 PHP
php按字符无乱码截取中文的方法
2015/03/27 PHP
html下载本地
2006/06/19 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
JS求平均值的小例子
2013/11/29 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
python time模块用法实例详解
2014/09/11 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Python如何定义接口和抽象类
2020/07/28 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
新驾驶员个人自我评价
2014/01/03 职场文书
小学老师寄语大全
2014/04/04 职场文书
高三毕业寄语
2014/04/10 职场文书
临床专业自荐信
2014/06/22 职场文书