php-beast编译使用

  1. 下载解压缩
 wget https://github.com/liexusong/php-beast/archive/master.zip
 unzip master.zip
 cd php-beast-master
  1. 修改header.c文件加密文件头结构,增加加密的安全性(所有修改的文件均在php-beast-master文件夹下)
char encrypt_file_header_sign[] = {
   0xe8, 0x16, 0xa4, 0x0c,
   0xf2, 0xb2, 0x60, 0xee
};
//自定义修改(其中的数字的范围为:0-8,字母的范围为:a-f):
//如:

char encrypt_file_header_sign[] = {
   0xe8, 0xe8, 0xe8, 0xe8,
   0xf2, 0x60, 0x60, 0xa4
};
  1. 修改默认的加密key。因为扩展是开源的,如果使用默认加密key的话,很容易被人发现。所以最好编译的时候修改加密的key,aes模块 可以在 aes_algo_handler.c 文件修改,而 des模块 可以在 des_algo_handler.c 文件修改。
static char key[8] = {
    0x01, 0x1f, 0x01, 0x1f,
    0x01, 0x0e, 0x01, 0x0e,
};

//自定义修改(其中的数字的范围为:0-8,字母的范围为:a-f):
//如:

static char key[8] = {
    0x0e, 0x0e, 0x01, 0x1f,
    0x1f, 0x0e, 0x1f, 0x1f,
};
  1. 编译安装
phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
sudo make && make install
//编译好之后修改php.ini配置文件, 加入配置项: extension=beast.so, 重启php-fpm
  1. 加密项目
//进入php-beast-master/tools 目录下 使用 encode_files.php 加密项目
//使用前修改该目录下的configure.ini 文件
; source path 要加密项目的路径
src_path = ""

; destination path 保存加密后项目的路径
dst_path = ""

; expire time 是设置项目可使用的时间 (expire 的格式是:YYYY-mm-dd HH:ii:ss)
expire = ""

; encrypt type (selection: DES, AES, BASE64) 加密的方式,选择项有:DES、AES、BASE64
encrypt_type = "DES"

//保存后 执行 php encode_files.php 开始加密项目

你可能感兴趣的:(php基础知识)