分享2种PHP的源码加密方式,附代码
PHP的源码加密方式1:
01
|
<?php
|
02
|
function encode_file_contents( $filename ) {
|
03
|
$type = strtolower ( substr ( strrchr ( $filename , '.' ),1));
|
04
|
if ( 'php' == $type && is_file ( $filename ) && is_writable ( $filename )){ // 如果是PHP文件 并且可写 则进行压缩编码
|
05
|
$contents = file_get_contents ( $filename ); // 判断文件是否已经被编码处理
|
06
|
$contents = php_strip_whitespace( $filename );
|
07
|
// 去除PHP头部和尾部标识
|
08
|
$headerPos = strpos ( $contents , '<?php' );
|
09
|
$footerPos = strrpos ( $contents , '?>' );
|
10
|
$contents = substr ( $contents , $headerPos +5, $footerPos - $headerPos );
|
11
|
$encode = base64_encode (gzdeflate( $contents )); // 开始编码
|
12
|
$encode = '<?php' . "\n eval(gzinflate(base64_decode(" . "'" . $encode . "'" . ")));\n\n?>" ;
|
13
|
return file_put_contents ( $filename , $encode );
|
14
|
15
|
}
|
16
|
return false;
|
17
|
}
|
18
|
//调用函数
|
19
|
$filename = 'dam.php' ;
|
20
|
encode_file_contents( $filename );
|
21
|
echo "OK,加密完成!"
|
22
|
?>
|
PHP的源码加密方式2:
01
|
<?php
|
02
|
function RandAbc( $length = "" ){ //返回随机字符串
|
03
|
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ;
|
04
|
return str_shuffle ( $str );
|
05
|
}
|
06
|
$filename = 'dam.php' ;
|
07
|
$T_k1 =RandAbc(); //随机密匙1
|
08
|
$T_k2 =RandAbc(); //随机密匙2
|
09
|
$vstr = file_get_contents ( $filename ); //要加密的文件
|
10
|
$v1 = base64_encode ( $vstr );
|
11
|
$c = strtr ( $v1 , $T_k1 , $T_k2 ); //根据密匙替换对应字符。
|
12
|
$c = $T_k1 . $T_k2 . $c ;
|
13
|
$q1 = "O00O0O" ;
|
14
|
$q2 = "O0O000" ;
|
15
|
$q3 = "O0OO00" ;
|
16
|
$q4 = "OO0O00" ;
|
17
|
$q5 = "OO0000" ;
|
18
|
$q6 = "O00OO0" ;
|
19
|
$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 . '))));' ). '"));' ;
|
20
|
$s ='<?php
|
21
|
'. $s .
|
22
|
'
|
23
|
?>';
|
24
|
echo "OK,加密完成!" ;
|
25
|
//生成 加密后的PHP文件
|
26
|
$fpp1 = fopen ( 'dam.php' , 'w' );
|
27
|
fwrite( $fpp1 , $s ) or die ( '写文件错误' );
|
28
|
?>
|
其实,PHP加密源码方式有很多,譬如,免费的微盾PHP加密,还有 phpjm . net 搞的在线加密,只是phpjm更复杂点而已。
分享2种PHP的源码加密方式,附代码相关推荐
- 分享45个Android实例源码
分享45个Android实例源码,很好很强大.收藏吧!!! 分享45个android实例源码,很好很强大 http://www.apkbus.com/android-20978-1-1.html an ...
- 分享45个android实例源码,很好很强大
链接地址:http://www.apkbus.com/android-20978-1-1.html 分享45个android实例源码,很好很强大 http://www.apkbus.com/andro ...
- 分享45个android实例源码,很好很强大.收藏吧!!!
添加微信号:apkbus,回复"视频"即可获取400套免费 Android开发 视频教程 分享45个android实例源码,很好很强大 http://www.apkbus.com/ ...
- PHP 源码加密学习
背景:在商用的情况下 可能需要加密 php 源码 php-beast 是一个 PHP 源码加密的模块,其使用 DES 算法加密,用户可以自定义加密的 key 来加密源代码,可以很好的保护你的代码.主要 ...
- php7.0源码加密,Zend Guard(php源码加密工具) V7.0 官方版
Zend Guard是一款能够对PHP源码加密的软件,采用先进的编码和迷乱技术,对您的PHP应用的源码进行加密处理,从而保护您的PHP应用版权不被侵犯. [功能特色] 1.通过采用先进的编码和迷乱技术 ...
- python源码加密实现
本文参考如何保护你的 Python 代码对其想法进行实现. 源码地址:spython@github RAYENCRY rayencry使用AES算法对指定目录中的Python源码加密. 内容 背景 安 ...
- html网页源码加密
html加密.网页加密.网页源码加密 html网页源码能加密吗?能加密到何种程度? 某些时候,我们可能需要对html网页源码加密,使网页源码不那么容易被他人获得.出于这个目标,本文测试一种html加密 ...
- 分享99个ASP.NET源码,总有一款适合您
分享99个ASP.NET源码,总有一款适合您 99个ASP.NET源码下载 Python采集代码下载链接:采集代码.zip - 蓝奏云 asp.net快速开发框架(eFrameWork) v5.0.2 ...
- 20种看asp源码的方法及工具
作者:欧杨飘雪 http://blog.csdn.net/flyingsnowy/ 众所周知windows平台漏洞百出,补丁一个接一个,但总是补也补不净.我把我所知道的20种看asp源码的方法总结了 ...
最新文章
- The application does not contain a valid bundle identifier.解决方法
- 性能提升19倍,DGL重大更新支持亿级规模图神经网络训练
- UFLDL深度学习笔记 (三)无监督特征学习
- nyoj298_点的变换_错误
- 一步步编写操作系统 47 48 二进制程序运行方式
- jsr 正则验证_Java数据校验(Bean Validation / JSR303)
- c语言limits.h_ (limits.h)C ++中(整数类型的大小)的宏常量
- Javascript IE 内存释放
- bdf比特数字基金_第四届世界数字经济大会,比特元BTY作为协办方参与
- 深度学习——卷积神经网络CNN
- iptables 之 REJECT 与 DROP 对比
- windows server 2012 动态访问控制
- NJUPT_CTF easychallenge 解题脚本
- SecureCRT for Mac(SSH终端仿真工具)
- Win7 开启自带WIFI进行手机抓包
- 数学期望(离散型和连续型)
- 定时器/计数器、中断
- 刘严涛一枚天蝎座的在读大学生
- Combining Character
- bde访问64位oracle,Delphi5企业版使用BDE访问Oracle方法
热门文章
- 滕王阁序作者是谁?分享滕王阁序名句摘抄
- java的jvm和事务并发的关系_Java程序员岗面试总结
- Ubuntu20.04配置固定IP时的问题
- C# string ASCII码 16进制转换
- apk获取屏幕分辨率
- html阴影效果怎么做,如何利用CSS3阴影效果制作出立体感效果
- Linux--数据库(MySQL)操作
- 利用Adobe Acrobat DC制作pdf模板后,使用java直接生成pdf至本地指定路径或导出pdf文件
- a+aa+aaa+....+aaaaaaaaa其中a为1-9的数字
- 金蝶kis记账王云盘版怎么安装与注册