参考网址:
GitHub - liexusong/php-beast: PHP source code encrypt module (PHP源码加密扩展)
php-beast 加密 和 解密 详解_哈二王的博客-CSDN博客_php-beast
https://www.jianshu.com/p/3fa50bbef813
PHP-Beast 加密你的PHP源代码 - 腾讯云开发者社区-腾讯云
操作步骤:
确认好php的安装路径 本机:/usr/local/php
cd /usr/local/php
mkdir ext
cd ext
下载 /安装 php-beast 扩展
wget https://github.com/liexusong/php-beast/archive/master.zip
unzip master.zip
cd php-beast-master/
修改加密密钥:增加安全性,防破解
vim header.c 修改配置 (其中的数字的范围为:0-8,字母的范围为:a-f)
char encrypt_file_header_sign[] = {
0xd8, 0x36, 0xc4, 0x6c,
0xa2, 0xb3, 0x40, 0xfe
};
// 修改aes模块加密key
vim aes_algo_handler.c 修改配置 (其中的数字的范围为:0-8,字母的范围为:a-f)
static uint8_t key[] = {
0x2b, 0x7e, 0x15, 0x56, 0x45, 0xde, 0xf2, 0xa6,
0xeb, 0xf5, 0x65, 0x78, 0x89, 0xaf, 0x4b, 0x3d,
};
// 修改des模块加密key:
vim des_algo_handler.c 修改配置 (其中的数字的范围为:0-8,字母的范围为:a-f)
static char key[8] = {
0x03, 0x2a, 0x23, 0x2f,
0x04, 0x2e, 0x71, 0x8e,
};
// 修改base64模块加密key:(一般不用base64加密)
static const short base64_reverse_table[256] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
};
// 开始编译安装
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
php.ini 中添加扩展 beast.so
重启 php-fpm
php -m | grep beast 检查是否安装成功
执行加密:
cd /usr/local/php/ext/php-beast-master/tools
单文件加密:
执行 php encode_file.php 参数详见脚本注释
多文件加密:
修改 configure.ini
执行: php encode_files.php
性能调研:(加密整个项目,顺序调用同一接口)
加密前 平均值: 38.25
总请求数量:1000
总用时:27.266933917999 秒
平均耗时:0.027266933917999 秒
秒处理数量:36.674457165127
总请求数量:2000
总用时:52.408755064011 秒
平均耗时:0.026204377532005 秒
秒处理数量:38.161562844934
总请求数量:5000
总用时:130.94353890419 秒
平均耗时:0.026188707780838 秒
秒处理数量:38.184396434088
总请求数量:10000
总用时:241.70849013329 秒
平均耗时:0.024170849013329 秒
秒处理数量:41.372150372069
加密后 平均值: 26.75
总请求数量:1000
总用时:35.804615020752 秒
平均耗时:0.035804615020752 秒
秒处理数量:27.929360486641
总请求数量:2000
总用时:72.795443058014 秒
平均耗时:0.036397721529007 秒
秒处理数量:27.47424723284
总请求数量:5000
总用时:200.8521668911 秒
平均耗时:0.04017043337822 秒
秒处理数量:24.893931080719
总请求数量:10000
总用时:361.81626391411 秒
平均耗时:0.036181626391411 秒
秒处理数量:27.638337458412
结论:
加密前吞吐量:38.25
加密后吞吐量:26.75 下降了11.5
开启加密后,性能下降 30%
【以上数据根据安装环境配置不同,会有差异,仅供参考】