• php的加密&解密 (压缩数据) gzcompress & gzuncompress


     

      

    if (!function_exists('getEncryption')) {
      /**
       * 基于base64的数据加密
       * @param $data
       * @return string
       */
      function getEncryption($data){ 
        return base64_encode(gzcompress(serialize($data))); 
      } 
    } 
     
    if (!function_exists('unEncryption')) { 
      /** 
       * 解密 
       * @param $str 
       * @return mixed 
       */ 
       function unEncryption($str){
         return unserialize(gzuncompress(base64_decode($str))); 
      } 
    }

      示例

       代码:

        

           $arr = [
                'a'=>[
                        'dfhs213214214214kldfhsalkfjdfhs213214214214kldfhsalkfjdfhs213klddfsfggasdfasfagsgsfdsfadsakfaslkjffs',
                        'dfhs213214214214kldfhsalkfjdfhs213214214214kldfhsalkfjdfhs213klddfsfggasdfasfagsgsfdsfadsakfaslkjffs'
                    ],
                'b'=>'dfhs213214214214kldfhsalkfjdfhs213214214214kldfhsalkfjdfhs213klddfsfggasdfasfagsgsfdsfadsakfaslkjffs',
                'c'=>'dfhs213214214214kldfhsalkfjdfhs213214214214kldfhsalkfjdfhs213klddfsfggasdfasfagsgsfdsfadsakfaslkjffs',
                'd'=>'dfhs213214214214kldfhsalkfjdfhs213214214214kldfhsalkfjdfhs213klddfsfggasdfasfagsgsfdsfadsakfaslkjffs',
                'e'=>'dfhs213214214214kldfhsalkfjdfhs213214214214kldfhsalkfjdfhs213klddfsfggasdfasfagsgsfdsfadsakfaslkjffs',
            ];
            $json = json_encode($arr);
            echo strlen($json).PHP_EOL;  // 长度:641    
             //加密
            $encryption = base64_encode(gzcompress(serialize($json)));
            echo $encryption.PHP_EOL; // eJy9j7ENgDAQA3f5miYBUYRREMXD4yCSziVid4IYgO4lF9a5OJlpHEKSS1TSLIaDMfQxDF9KfYnWgvN/asRA5Kw0KKGZmbBWjFoaqeUEKJ2PZulkleR1afNTmZ9q91LdMj1+Sd35
            echo strlen($encryption).PHP_EOL; // 长度:136     
             //解密
            $decrypt = unserialize(gzuncompress(base64_decode($encryption)));
            print_r(json_decode($decrypt,true));
    

      

        结果:

      

        压缩长度非固定,视情况使用!

      php 有以下压缩字符串函数:

    •     gzcompress 速度最快,压缩比率较高。 
    •     gzdeflate 压缩比率最高,速度稍慢于gzcompress 
    •     gzencode 与 gzdeflate 比较接近,gzdeflate稍有优势 
    •     bzcompress 速度最慢,压缩比率最慢。 

        建议使用 gzcompress 和 gzdeflate。

  • 相关阅读:
    javascript操作样式
    JavaScript开发
    JavaScript开发
    JavaScript开发
    网页设计
    会员登录界面设计
    用表格模拟实现一个菜鸟教程的网站遇到的问题
    数据库---数据控制语言(DCL)
    数据库---数据库查询的各种子句
    数据库表--增删改查的操作实例
  • 原文地址:https://www.cnblogs.com/zhanzy/p/14361877.html
Copyright © 2020-2023  润新知