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 相关文章推荐
PHP 开发环境配置(测试开发环境)
Apr 28 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
php表单提交实例讲解
Nov 12 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 PHP
使用PHP开发留言板功能
Nov 19 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 14 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
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP加密技术的简单实现
2016/09/04 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python进程间通信之共享内存详解
2017/10/30 Python
Python for循环及基础用法详解
2019/11/08 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
会计学应届毕业生推荐信
2013/11/04 职场文书
教师党员思想汇报
2014/01/06 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
国防教育标语
2014/10/08 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
文明倡议书
2015/01/19 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android