zoukankan      html  css  js  c++  java
  • php可逆加密解密

    函数:

    function encrypt($data, $key) { 
        $prep_code = serialize($data); 
        $block = mcrypt_get_block_size('des', 'ecb'); 
            if (($pad = $block - (strlen($prep_code) % $block)) < $block) { 
                $prep_code .= str_repeat(chr($pad), $pad); 
            } 
            $encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB); 
            return base64_encode($encrypt); 
        } 
        function decrypt($str, $key) { 
        $str = base64_decode($str); 
        $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); 
            $block = mcrypt_get_block_size('des', 'ecb'); 
            $pad = ord($str[($len = strlen($str)) - 1]); 
            if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) { 
                $str = substr($str, 0, strlen($str) - $pad); 
            } 
            return unserialize($str); 
    } 
    

    调用:

    $key = 'okyo.cn'; 
    $data = array('id' => 100, 'username' => 'customer', 'password' => 'e10adc3949ba59abbe56e057f20f883e'); 
    $snarr = serialize($data); 
    $en = encrypt($data, $key); 
    $de = decrypt($en, $key); 
    echo "加密原型:"; 
    print_r($data); 
    echo " 
    密钥:$key 
    加密结果:$en 
    解密结果:"; 
    print_r($de); 
    

      

  • 相关阅读:
    CI控制器
    php+mysql新无线级分类
    php函数引用
    java数据类型
    进制装换
    java环境
    node.js
    移动端或者网页端下拉加载
    yii DAO操作总结
    yii中find()指定条件
  • 原文地址:https://www.cnblogs.com/leedaily/p/8250024.html
Copyright © 2011-2022 走看看