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 memcache扩展的三种安装方法
Apr 26 PHP
使用VisualStudio开发php的图文设置方法
Aug 21 PHP
php session安全问题分析
Jun 24 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
php计算当前程序执行时间示例
Apr 24 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
Laravel实现表单提交
2017/05/07 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
国际贸易个人求职信范文
2014/01/04 职场文书
运动会稿件300字
2014/02/14 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
教师学期末个人总结
2015/02/13 职场文书
夫妻吵架保证书
2015/05/08 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
委托收款证明
2015/06/23 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
php png失真的原因及解决办法
2021/10/24 PHP
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android