PHP-Beast是一个PHP源码加密的模块,其使用DES算法加密,用户可以自定义加密的key来加密源代码。

1. PHP-Beast的安装

$ wget https://github.com/liexusong/php-beast/archive/master.zip
$ unzip master.zip
$ cd php-beast-master
$ phpize
$ ./configure
$ make
$ sudo make install

注意:在编译扩展之前先修改加密的key,如下图。

编译好之后修改php.ini配置文件,加入配置项:extension=beast.so,重启php-fpm。

安装完成后可以在phpinfo中看到如下结果:
  

2. 安装好PHP-Beast模块后,可以使用工具包中的encrypt_project.php工具来加密你的项目,你只需要输入项目的路径和输出的项目路径即可(这个工具只会加密PHP文件,其他文件只会简单的复制),如:
 

加密完成后使用文本编辑器看编译后的文件可以发现已经变为乱码,如:
  

3. 当然你可能不希望加密项目的所有PHP源文件,所以你可以使用PHP-Beast模块提供的beast_encode_file()函数来加密其中的某个文件,使用方法:beast_encode_file($input_file, $output_file),$input_file是要加密的文件,$output_file是要输出加密后的文件。

4. 把源码加密后就可以放到服务器上运行了。另外PHP-Beast模块提供缓存功能,我们可以在php.ini文件中修改缓存的大小来控制PHP-Beast模块可以使用的缓存。如:

[beast]
beast.cache_size = 20000

我们可以使用beast_cache_status()函数来查看缓存的状态。

使用PHP-Beast加密你的PHP源代码的更多相关文章

  1. 运用加密技术保护Java源代码(转)

    出处:运用加密技术保护Java源代码 为什么要加密? 对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以.遗憾的是,Java程序的源代码很容易被别人偷看.只要有一 ...

  2. 运用加密技术保护Java源代码/定制ClassLoader

    为什么要加密? 对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以.遗憾的是,Java程序的源代码很容易被别人偷看.只要有一个反编译器,任何人都可以分析别人的代码 ...

  3. C#/vbscript/JS如何加密保护HTML/javascript源代码

    原文地址:http://www.coding123.net/article/20121008/encrypt-javascript-by-charp-vbscript.aspx 本文通过将源代码进行u ...

  4. 如何打包发布加密的 Python 源代码

    这里介绍一种使用 PyInstaller 和 PyArmor 来发布加密 Python 源代码的方式,能够达到以下目的 把所有 Python 源代码打包成为可执行文件,客户不需要 Python 就可以 ...

  5. Unity Mono脚本 加密

    加密环境 引擎版本:Unity3D 5.3.4 及更高版本 (使用Mono而并非IL2CPP) 操作系统:CentOS 6.2(Final) 加密环境:Android.IOS(暂定) 加密对象:C#源 ...

  6. php源码安全加密之PHP混淆算法.

    php源码安全加密的前世今生,本想发在教程区中.不知道怎么发,就写在这里面吧.PHP加密,解密是一直的话题,本人菜鸟,今天就简单向大家介绍一下并说说其中原理.提供一些加密的混淆算法.一\PHP的加密总 ...

  7. Electron把网页打包成桌面应用并进行源码加密

    前言 最近想把自己用html+css+js做的网页界面打包成桌面应用,网上一搜,发现Electron是一个不错的选择,试了试,发现效果真的不错.这里记录一下打包过程以作记录,便于自己以后查看学习. 一 ...

  8. Unity3D加密流程文档

    一键搞定源代码.资源等保护 代码被反编译破解,无可奈何? Unity3D 开发的软件程序,无论使用虚拟化,还是混淆,都无法抵抗住黑客丧心病狂的破解,轻松被反编译,令开发商无比头疼. 图片等资源保护被盗 ...

  9. android加密解密完美教程

    经常使用加密算法:DES.3DES.RC4.AES,RSA等; 对称加密:des,3des,aes 非对称加密:rsa 不可逆加密:md5 加密模式:ECB.CBC.CFB.OFB等; 填充模式:No ...

随机推荐

  1. linux如何杀死指定进程

    ps aux | grep '进程名称' sudo kill pid

  2. 37.2 net-- tcp传输 ServerSocket、Socket

    一.打开server端 package day35_net_网络编程.tcp传输; import java.io.IOException; import java.io.InputStream; im ...

  3. go中内存泄露的发现与排查

    一,什么是内存泄漏 Go 中的并发性是以 goroutine(独立活动)和 channel(用于通信)的形式实现的.处理 goroutine 时,程序员需要小心翼翼地避免泄露.如果最终永远堵塞在 I/ ...

  4. AJ学IOS(38)UI之核心动画简介

    AJ分享,必须精品 核心动画(简介) Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就 ...

  5. 使用d3.js的时候,如何用zoom translate scale限制拖拽范围

    红色代表需要改写的代码 1.添加定义图像大小和容器的大小及坐标 d3.behavior.zoom = function () { var moveCanvas={ width: , height: , ...

  6. Daily Scrum 1/5/2015

    Process: Zhaoyang: Fix some crash bugs and increase the program stability. Yangdong: Complete some b ...

  7. 从hfctf学习JWT伪造

    本文作者:Ch3ng easy_login 简单介绍一下什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519) ...

  8. 开始appium的第一个脚本

    设置DesiredCapabilities 存在于以下库中: org.openqa.selenium.remote.DesiredCapabilities Desired Capabilities告诉 ...

  9. HBase Filter 过滤器概述

    abc 过滤器介绍 HBase过滤器是一套为完成一些较高级的需求所提供的API接口. 过滤器也被称为下推判断器(push-down predicates),支持把数据过滤标准从客户端下推到服务器,带有 ...

  10. golang 基础 map及工厂函数

    Map是一种数据结构,是一个集合,用于存储一系列无序的键值对.它基于键存储的,键就像一个索引一样,这也是Map强大的地方,可以快速快速检索数据,键指向与该键关联的值. 内部实现 Map是基于 散列表 ...