PHP代码的加密与解密

来自技术开发小组内部wiki
跳转至: 导航搜索
PHP由于是解释执行语言,因此在源代码保护方面有先天劣势,但有是为了部分核心代码或敏感数据的保护,需要进行一定的知识产权保护,这个时候需要用到PHP的加密与解密
这里用到最多的加解密工具是:zend官方出品的zend guard,在php5.2的版本的时候需要用到Zend Optimizer,这里主要分享下如何实现加密与解密的配置过程

工具介绍

在php5.2及以前需要使用到Zend Optimizer,在php5.2以后的版本,包括5.3,5.4,5.5,5.6,5.7 就需要使用到zend guard来进行处理,同时不同的版本对应的加密与解密guard版本
也是不一样的,具体连接:http://www.zend.com/en/products/guard/downloads#Windows,其中zend guard 7 支持PHP5.5,php5.6版本的加密处理,zend guard 6支持php5.3,5.4的加密处理

php版本要求

如果要正确顺利运行加密后的php文件,php在安装的时候需要设置为not thread safety(非线程安全),可以通过php.net下载特定的非线程安全版本,具体的查看解释:http://www.cnblogs.com/codersay/p/4301783.html
官方提供的php下载地址列表:http://windows.php.net/downloads/releases/archives/  这是windows下可供运行的版本


如何加密

根据php的版本选择不同的zend guard来处理,这里以php5.4大版本为例,下载zend guard 6.0 的破解版来进行处理,具体的地址:http://xiedexu.cn/zend-guard-6-crack-files.htm
然后进行安装破解,建立加密文件项目,有针对性的选择文件进行是否加密

如何解密

在对应的zend guard loader,下载地址:http://www.zend.com/en/products/loader/downloads#Windows,配置如下:前面的这个ext不要漏掉
zend_loader.enable=1
zend_extension=ext\ZendLoader.dll

实例

下载的版本:php-5.4.1-nts-Win32-VC9-x86,对应的guard loader:ZendGuardLoader-70429-PHP-5.4-Windows-x86,检查是否正常加载,通过运行php -i 或 php -m来查看结果
具体实例参见现场说明