专栏首页码农编程进阶笔记PHP加密技术 附源码

PHP加密技术 附源码

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.快来亲自测试下吧

本文分享自微信公众号 - 码农编程进阶笔记(lxw1844912514),作者:竹子

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP模糊查询技术实例分析【附源码下载】

    砸漏
  • Android NFC 技术解析,附 Demo 源码

    近期由于项目需求,对 Android NFC 技术进行了一定的了解和深入,整合了一些网络、书籍资料,此文章仅作为自己的学习笔记。 NFC 是 Near Fiel...

    非著名程序员
  • 数据加密技术之MD5加密

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    bering
  • 加密技术发展

    happy123.me
  • 同态加密技术

    最近领导安排研究下大数据的安全,计算机安全是个系统工程,分很多层面: 1)硬件安全 2)应用软件安全 3)操作系统安全 4)数据库系统安全 5)网络安全技术 涉...

    大数据和云计算技术
  • 密码学技术

    在凯撒密码中,将字母平移这个操作就是密码的算法,而平移数量相当于密钥,在这个例子中密钥就是3

    yichen
  • Python3 加密解密技术详解

    引言 Python 3 的标准库中没多少用来解决加密的,不过却有用于处理哈希的库。 在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyC...

    小小科
  • PHP中给源代码加密的几种方法

    沈唁
  • 【Web技术】399- 浅谈前端代码加密

    说到 Web 前端开发,我们首先能够想到的是浏览器、HTML、CSS 以及 JavaScript 这些开发时所必备使用的软件工具和编程语言。而在这个专业领域中,...

    pingan8787
  • 详解EFS加密技术

    在windows vista下,有两大加密技术:EFS和Bitlocker。其实,EFS加密从windows 2000开始就有了。如何用好EFS加密技术保护自己...

    williamwong
  • (一)传统加密技术

    渔父歌
  • C#加密技术分析

    c# dll 加密最快的方法使用加壳工具Virbox Protector,直接加密,Virbox Protector可以对dll进行性能分析,分析每个函数的调用...

    virbox-chou
  • 读《图解密码技术》(一):密码

    以前,对一些密码技术,虽然懂得怎么用,但对其原理却一直不甚了解,比如,用公钥加密后,为什么用私钥就可以解密?DES和AES加密时为什么需要一个初始化向量?想要了...

    Keegan小钢
  • 希捷网络存储(NAS)设备上存在0day漏洞,Metasploit已更新漏洞利用程序

    希捷科技(Seagate)成立于1979年,是著名的硬盘和存储解决方案供应商。最近安全专家在希捷网络附加存储(NAS)设备上发现了一个高危0day漏洞,攻击者可...

    FB客服
  • “寄生兽”(DarkHotel)针对中国外贸人士的最新攻击活动披露

    腾讯御见威胁情报中心曾在2018年4月披露过"寄生兽"(DarkHotel)在2018年针对中国外贸企业高管的定向攻击活动。近期,我们再次检测到该攻击组织的最新...

    FB客服
  • enphp一个开源加密混淆PHP代码项目

    一个开源加密混淆 PHP 代码项目// a Open Source PHP Code Confusion + Encryption Project

    Inkedus
  • 密码学技术02

    一次性密码本是一种非常简单的密码,它原理是:“讲明文与一串随机的比特序列进行XOR运算”

    yichen
  • 密码学技术03

    在之前讨论的 DES、AES 都属于分组密码,他们只能加固固定长度的明文。如果要加密任意长度的明文,就需要对分组密码进行迭代,迭代的方法称为模式。

    yichen
  • 云加密:云端使用数据加密技术

    虽然许多企业组织期望充分利用云计算,但数据安全仍然是需要操心的首要问题。然而,借助众多云解决方案,有望实现并享用云端的有效数据保护和强加密。 ? 随着商业监管和...

    静一

扫码关注云+社区

领取腾讯云代金券