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)); 
    }

  

转载于:https://www.cnblogs.com/adtuu/p/4688286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值