PHP 加密扩展 php-beast 的使用

2022-06-02  本文已影响0人  geeooooz

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

上一篇下一篇

猜你喜欢

热点阅读