点击上方“ 码农编程进阶笔记 ”,选择“置顶或者星标”
文末有干货,每天定时与您相约!
PHP 加密后的代码能运行在 PHP 5+ 以上版本。
跨平台,Windows、CentOS、Ubuntu平台均能正常运行。
支持虚拟主机、VPS、独立服务器。
不需要安装任何额外扩展。
保持原有代码结构,不注入任何额外代码。
Web 服务器无需任何修改。
优秀、高效的不可逆加密混淆算法。
加密强度超高
1.精诚所至,金石为开,今天我要给大家讲的内容是如何将php源码加密。
在实际的开发工作中,有一些核心的或者特别重要的php页面需要保护起来,防止被盗取或者被恶意修改,也可以防备那些不守信用的客户或老板,这时我们就需要对这些文件进行加密。
2.首先我们需要在本地搭建一个php运行环境,或者直接把php文件放在运行环境为php的空间。
在这里,我用的是空间。
3.然后创建一个用来被加密的php文件:index.(点)php。
//index.php
<?php
$nowTime = time();//取到当前时间的时间戳
$expireTime = 1500103230;//通过时间戳转换工具取到两分钟后的时间戳
if($nowTime <= $expireTime){
echo \'网站正常运行中!\';
}else{
echo \'网站已关闭!\';
}
?>
在里面写被加密的代码,这里,我用最简单的代码做范例。
代码思路是这样的:先取到当前时间,然后利用时间戳转换工具把两分钟后的时间戳取到。
判断当前时间是否小于等于到期时间,如果为真则返回:网站正常运行中。
否则返回:网站已关闭。
4.现在我们的主角登场了,就是encryption.(点)php文件。
//encryption.php
<?php
function RandAbc($length=""){//返回随机字符串
$str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
return str_shuffle($str);
}
$filename=\'index.php\';//输入需要加密的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(\'test.php\',\'w\');
fwrite($fpp1,$s) or die(\'写文件错误\');
?>
具体的实现步骤大家可以自己研究一下。
我现在讲一下需要注意的地方。
第一,把要被加密的php文件的全称放入到第6行的单引号中。
第二,在第26行中的第一个单引号中填写加密生成后的php文件名。
5.现在把时间戳换成两分钟后的时间戳。
然后把这两个文件上传到空间。
执行encryption.(点)php文件。http://www.test.com/encryption.php
然后可以在空间根目录看到有一个test.(点)php文件生成。
这个test.(点)php就是由index.(点)php加密而成的。
然后执行test.(点)php文件。 http://www.test.com/test.php
可以看到运行的结果和index.(点)php文件运行的结果相同。
两分钟到了之后,网站就会显示已关闭。
6.打开test.(点)php文件可以看到,是加密后的源码。
//test.php
<?php
$O00OO0=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");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};eval($O00O0O("JE8wTzAwMD0iV1h2ck5DSlV4SHdFRmhHQmJJUWRQUnNxTHRsT2FaZ29BZnVpa0tZU1ZUamNleU1tcER6blhSQm5Fa2dXWU9sWlVoeUZBdVF4ZFRqQ3ZWcXNOS1BlU0RMdEhjcGZKSW9ybXdHaWF6TWJkejlsTk9TY2d5NUJ4MVRhQVhXUGRmRjBOWDFxY2tIN3Z3L3VlQVg5VkFPT2pHQ1lCc2YxWUdDWUJzZjBsUWVIS1JobE5SZ3FKeXFWS2ZTOXV6WjFHelNZR3pHd0dNUzd2dy9FQ3ZiOXdueTg1dklGMTZDN0w3aUhCVi91ZUFYOWxBMjMxVkFJTEJzMVlHQ1lCc2YwbFFhYUt0UEhBaTkzSnlxVktmUzhkZlNIS1JobE5SZ3FKeXFWS2ZxN2tQcXFwMmhCdWtERStFWCsxRDJNZTlJdjBFelgwY3NoZ01qY0RYSmpyMko3a1BxcXAyaEJ1a0RFK0VYKzBWeTUydk9KZTZaYnNsYTlrbzgra1BlY2tQZWMiO2V2YWwoJz8+Jy4kTzAwTzBPKCRPME9PMDAoJE9PME8wMCgkTzBPMDAwLCRPTzAwMDAqMiksJE9PME8wMCgkTzBPMDAwLCRPTzAwMDAsJE9PMDAwMCksJE9PME8wMCgkTzBPMDAwLDAsJE9PMDAwMCkpKSk7"));
?>
然后把index.(点)php文件保存起来,在空间中只运行test.(点)php文件就可以达到加密效果了。
7.快来亲自测试下吧
希望这篇文章对您有所帮助,欢迎 转发+分享!
资料获取方式:
扫描下方二维码
后台回复关键字:PHP加密技术