公司要求加密开发的代码源文件要求一部分加密一部分不加密。
最著名的就是Zend公司的Zendencoder了,但是不是开源软件。好不容易找到一个破解版本的。全部加密的时候可以使用,部分文件加密不能使用很是纳闷,换成php4的部分加密也能使用。(破解版的怎么这个时候不好使啊 。)
另想办法,在google上找到一个php_screw开源的linux 加密的工具 最新版本是1.5。体积下方便挺好使用的发下说明,为没钱买Zendencoder支持下这个开源软件
系统:centos 5.3 x86_64
软件:Apache 2.2.9 PHP 5.2.10
软件下载地址 :http://sourceforge.net/projects/php-screw/
1、安装。首先安装php支持,如果不安装php支持哪加密之后 打不开文件,那不是我们想要的结果。
可以参考压缩包里面的README.en .里面描述的很清楚。
a、解压
tar -zxvf php_screw-1.5.tar.gz
b.进入php_screw-1.5目录开始安装
cd php_screw-1.5
运行 phpize
./configure --with-php-config=/usr/local/php/bin/php-config
c.设置自己用来加密的密码,也可以不更改试用默认的加密密码
vi my_screw.h
打开之后文件内容如下:
short pm9screw_mycryptkey[] = {
11152, 368, 192, 1281, 62
};
可以修改成
short pm9screw_mycryptkey[] = {
11152, 368, 192, 1281, 62,1111,2222
};
保存退出
d、编译生成php_screw.so模块
make
2、修改php配置文件,添加一个模块
vi $path/php.ini
修改扩展的路径
默认是
extension_dir = "./"
修改成
extension_dir = "/usr/local/php/modules/"
下面加一行
extension=php_screw.so
然后重启 apche 不报错就完成了。
进入php_screw 解压目录下的tools目录下ls 看到有下面几个文件
[root@test tools]# ls
Makefile screw.c zencode.c
然后运行make完成
ls看下就多了一个文件
[root@test tools]# ls
Makefile screw screw.c zencode.c
然后我们就可以对php代码加密了
[root@test tools]# ./screw /www/bcmedia/a.php
Success Crypting(/www/bcmedia/a.php)
加密完成。
这样试用的时候很不方便,可以把命令复制到/usr/bin/目录下然后再任何目录可以直接试用screw 命令
[root@test tools]# cp screw /usr/bin
[root@test tools]#chmod +x /usr/bin/screw
到这里安装配置完成,命令可以在任何目录下使用,不过加密之后会生成一个file.screw 的源码备份,如果不用可以删除。