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 快速生成 Flash 动画的方法
Mar 06 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Python 中的 else详解
2016/04/23 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
Python实现登陆文件验证方法
2018/10/06 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Django中使用Celery的方法示例
2018/11/29 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
最新的互联网创业计划书
2014/01/10 职场文书
保护地球的标语
2014/06/17 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
MySQL如何解决幻读问题
2021/08/07 MySQL
CPU不支持Windows11系统怎么办
2021/11/21 数码科技