PHP代码加密/代码保护php-beast

操作步骤:

确认好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%
————————————————
版权声明:本文为CSDN博主「pasas12001」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pasas12001/article/details/127619277

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容