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

希望这篇文章对您有所帮助,欢迎 转发+分享!

资料获取方式:

  1. 扫描下方二维码

  2. 后台回复关键字:PHP加密技术

PHP加密技术 附源码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111852.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 从第几个字符替换,php中几个字符串替换函数详解[通俗易懂]

    php 从第几个字符替换,php中几个字符串替换函数详解[通俗易懂]在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、str_split等函数,下面我来给大家总结介绍介绍.一、str_replace(find,replace,string,count)作用:str_replace()函数使用一个字符串替换字符串中的另一些字符。参数描述find必需,规定要查找的值.repla…

    2022年5月13日
    57
  • js unit8array和java变量之间的关系

    js unit8array和java变量之间的关系unit8array如何同java进行交互最近一个项目遇到了一个二维码转换的问题,厂家给的demo只有js的转换方式,其中用到了Unit8,由于实际应用场景,转换应该由后端java代码进行实现,这里记录一下实现方式。JS对字符串操作的时候,有时候我们会用到UNIT8ARRAY,例如varbinary_string=window.atob(str);vararray=new…

    2025年12月12日
    3
  • Qt是什么?Qt简介(非常全面)

    Qt是什么?Qt简介(非常全面)Qt是什么?Qt简介(非常全面)Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开发库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序,当然也可以开发不带界面的命令行(CommandUserInterface,CUI)程序。Qt是纯C++开发的,所以学好C++非常有必要,对于不了解C++的读者,我建议先阅读《C语言教程》,再阅读《C++教程》。C++是在C语言的基础上发展起来的,学完C语言就学了C++的一半了。Q

    2022年5月13日
    66
  • 2021好玩的微信小程序_如何制作微信小程序

    2021好玩的微信小程序_如何制作微信小程序一、前期准备工作1、注册微信小程序开发者账号在官网注册页选择小程序注册即可,账号分为个人版和企业版:个人版相对于企业版注册流程更为简单和宽松。企业版注册需要支付认证费用,一般为300元,个人版不需要,企业版经过微信官方认证,更具有信誉度。个人版更多只是一个展示的平台,企业版可以作为一个完整的平台,个人版不可以做商业性质的小程序,但是企业版可以,个人版不可以开通微信支付。附近的小程序不显示个人版,只能通过搜索,扫码方式找到。个人版不支持快速获取微信用户的手机号。2、下载微信开发者工具微信平

    2022年9月30日
    1
  • redis实现 spring-redis-data初学习

    redis实现 spring-redis-data初学习

    2021年9月9日
    55
  • DCache 分布式存储系统|List 缓存模块的创建与使用[通俗易懂]

    DCache 分布式存储系统|List 缓存模块的创建与使用[通俗易懂]作者|Eaton导语|在之前的系列文章中,我们介绍了DCache及其KV和K-K-Row缓存模块的使用,本文将继续介绍如何使用DCache中的列表类型缓存模块——List缓存模块。系列文章DCache分布式存储系统|安装部署与应用创建DCache分布式存储系统|Key-Value缓存模块的创建与使用DCache分布式存储系统|K-K-Row缓存模块的创建与使用DCache分布式存储系统|List缓存模块的创建与使用目录List模块简介创建.

    2022年8月30日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号