zoukankan      html  css  js  c++  java
  • mcrypt加密与解密

    $key = 'test';
    $result_array = array('name' => 'ta', 'age' => 28);
    $str = encode($result_array);
    
    function encode($result_array) {
              global $key;//JSON_PRETTY_PRINT  JSON_UNESCAPED_UNICODE
             $result = json_encode($result_array, JSON_UNESCAPED_UNICODE);
            //$result = str_replace(":null", ':""', $result);
    
              $str = $result;
    
            $block = mcrypt_get_block_size('des', 'ecb'); 
            $pad = $block - (strlen($str) % $block); 
            $str .= str_repeat(chr($pad), $pad); 
         
            $encode = base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB));
              return $encode;
    }
    //echo $str;exit;
    
    function decode($str) {
         global $key;
         $encode = $str;
         $json = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($encode), MCRYPT_MODE_ECB); 
         $block = mcrypt_get_block_size('des', 'ecb'); 
         $pad = ord($json[($len = strlen($json)) - 1]); 
         $json = substr($json, 0, strlen($json) - $pad);
    
         return $json;
    }
    
    
     function _encrypt($str) 
        { 
           global $key;
            $block = mcrypt_get_block_size('des', 'ecb'); 
            $pad = $block - (strlen($str) % $block); 
            $str .= str_repeat(chr($pad), $pad); 
         
            return base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB)); 
        }
    

      

  • 相关阅读:
    PYTHON 函数总结
    PYTHON 模块总结
    python例题21--30
    python例题11--20
    python例题 1--10
    如何选中表格内同类名的某一行?
    table表格td内内容自动换行
    layer弹出层传值到父页面
    DIV内数据删除操作
    锚记搞定窗口滚动
  • 原文地址:https://www.cnblogs.com/adtuu/p/4688286.html
Copyright © 2011-2022 走看看