美文网首页
PHP 加密扩展 php-beast 的使用

PHP 加密扩展 php-beast 的使用

作者: geeooooz | 来源:发表于2022-06-02 09:56 被阅读0次

    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

    相关文章

      网友评论

          本文标题:PHP 加密扩展 php-beast 的使用

          本文链接:https://www.haomeiwen.com/subject/hgzfmrtx.html