操作环境:centos 7.x
参考:http://blog.csdn.net/water_cow/article/details/41872091
1、下载php_screw,并解压
下载地址:http://sourceforge.net/projects/php-screw/
解压命令:tar -zxzvf php_screw-1.5.tar.gz
进入目录:cd php_screw-1.5
2、修改文件头提示:
vi php_screw.h
将
#define PM9SCREW “\tPM9SCREW\t”
#define PM9SCREW_LEN 10
修改为任意字串,如:
#define PM9SCREW “\tHETAN\t”
#define PM9SCREW_LEN 7
如果不改这个文件,加密的文件内容开头就会有 PM9SCREW,这么做是为了隐藏加密算法。
3、修改加密密钥:
vi my_screw.h
修改加密密钥:
short pm9screw_mycryptkey[] = {11152, 368, 192, 1281, 62};
修改为类似如下:
short pm9screw_mycryptkey[] = {12852, 9638, 1912, 1281, 62, 2619};
越长加密越可靠,建议不要大于5位数。
4、编译:
phpize
如果提示:
Can‘t find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
先安装php-devel
yum install php-devel
然后再执行:phpize 生成configure 文件。
./configure --with-php-config=/usr/bin/php-config
make
如果编译出错:
修改php_screw.c文件中的两处:
CG(extended_info) = 1;
为
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
重新make //在modules生成libscrew.so库
cd tools
make //生成screw工具
5、拷贝modules/php_screw.so到/usr/local/php_screw/modules/php_screw.so
mkdir -p /usr/local/php_screw/modules/
cp modules/php_screw.so /usr/local/php_screw/modules/
修改php.ini
vi /etc/php.ini
添加:
[phpScrew Loader]
extension = /usr/local/php_screw/modules/php_screw.so
6、拷贝tools/screw到/usr/bin/screw
cp tools/screw /usr/bin
chmod a+x /usr/bin/screw
7、加密文件
screw xxx.php
加密成功后,xxx.php为加密后文件,新生成的xxx.php.screw为加密前文件。
8、screw默认只能一次加密一个文件,写脚本,实现文件夹遍历加密。
脚本写完后附上来。。。