PHP 加密扩展 php-beast 的使用
1.安装
注意事项
1.必须在php的ext目录下 安装master.zip 我的安装目录是/usr/local/php/include/php/ext/
2.github文件加速下载网址:https://gh.api.99988866.xyz/ 可以下载以后上传到服务器
3.编译好之后修改php.ini配置文件, 加入配置项: extension=beast.so, 重启php-fpm
4.如果要自定义密码key 要在编译前修改
wget https://github.com/liexusong/php-beast/archive/master.zip
unzip master.zip
cd php-beast-master/
phpize
./configure --with-php-config=/usr /local/php/bin/php-config
如果报错 找不到 php-config
找一下自己的 配置在哪里
find / -name "php-config"
确定配置文件位置
./configure --with-php-config=/usr/local/php/bin/php-config
sudo make && make install
sudo make test //这一步就是对上一步 make 的检查了
php -m
如果发现没成功 重新试一遍
./configure --with-php-config=/usr/local/php/bin/php-config
sudo make && make install
后面也要加sudo root权限
sudo make && sudo make install
php -m
sudo make test
成功
添加到php配置文件中
php -i|grep ini
vi /usr/local/php/etc/php.ini
添加 extension="beast.so"
php -i|grep extension
service php-fpm restart
重启php 开始加密测试
cd tools/
php encode_file.php --encrypt DES --oldfile 1.php --newfile 22.php
php 22.php
cat 22.php
1.php 加密后生成 2.php 加密后运行测试正常
加密
加密方案1:
安装完 php-beast 后可以使用 tools 目录下的 encode_files.php
来加密你的项目。使用 encode_files.php
之前先修改 tools
目录下的 configure.ini
文件,如下:
; source path
src_path = ""
; destination path
dst_path = ""
; expire time
expire = ""
; encrypt type (selection: DES, AES, BASE64)
encrypt_type = "DES"
src_path 是要加密项目的路径,
dst_path 是保存加密后项目的路径,
expire 是设置项目可使用的时间 (expire 的格式是:YYYY-mm-dd HH:ii:ss)。
encrypt_type是加密的方式,选择项有:DES、AES、BASE64
。
修改完 configure.ini
文件后就可以使用命令 php encode_files.php
开始加密项目。
附上例子:将demo项目全部加密到新的demo2
; source path
src_path = "/home/wwwroot/demo"
; destination path
dst_path = "/home/wwwroot/demo2"
; expire time
expire = ""
; encrypt type
encrypt_type = "DES"
加密方案2:
使用 beast_encode_file()
函数加密文件,函数原型如下:
beast_encode_file(string $input_file, string $output_file, int expire_timestamp, int encrypt_type)
都是必填项 不可以少
$input_file: 要加密的文件
$output_file: 输出的加密文件路径
$expire_timestamp: 文件过期时间戳
$encrypt_type: 加密使用的算法(支持:BEAST_ENCRYPT_TYPE_DES、BEAST_ENCRYPT_TYPE_AES)
例子:
beast_encode_file('index2.php','index3.php','1656518400',BEAST_ENCRYPT_TYPE_AES);
想要更深入了解的话可以看官方文档
https://github.com/liexusong/php-beast
参考文章:
https://www.jianshu.com/p/7bacac6effe5
https://blog.csdn.net/haileyuxin/article/details/123307604