-
php源码程序加密方法
文章介绍了两个给php程序自身加密的方法,我们常的方法base64_encode(gzdeflate($contents))这样来加密了,第二种方法不多见有需要的朋友也可以参考一下.
实例1,代码如下:
- <?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);// 判断文件是否已经被编码处理
- $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'."n eval(gzinflate(base64_decode("."'".$encode."'".")));nn?>";
- return file_put_contents($filename,$encode);
- //开源代码phpfensi.com
- }
- return false;
- }
- //调用函数
- $filename='dam.php';
- encode_file_contents($filename);
- echo "OK,加密完成!"
- ?>
实例2,代码如下:
- <?php
- function RandAbc($length=""){//返回随机字符串
- $str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
- return str_shuffle($str);
- }
- $filename='dam.php';
- $T_k1=RandAbc();//随机密匙1
- $T_k2=RandAbc();//随机密匙2
- $vstr=file_get_contents($filename);//要加密的文件
- $v1=base64_encode($vstr);
- $c=strtr($v1,$T_k1,$T_k2);//根据密匙替换对应字符。
- $c=$T_k1.$T_k2.$c;
- $q1="O00O0O";
- $q2="O0O000";
- $q3="O0OO00";
- $q4="OO0O00";
- $q5="OO0000";
- $q6="O00OO0";
- $s='$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval('?>'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));';
- $s='<?php
- '.$s.
- '
- ?>';
- echo "OK,加密完成!";
- //生成 加密后的PHP文件
- $fpp1 = fopen('dam.php','w');
- fwrite($fpp1,$s) or die('写文件错误');
- ?>
出处:http://www.phpfensi.com/php/20140823/4677.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式