函数源码
<BR>function encrypt($data, $key) { <BR>$prep_code = serialize($data); <BR>$block = mcrypt_get_block_size('des', 'ecb'); <BR>if (($pad = $block - (strlen($prep_code) % $block)) < $block) { <BR>$prep_code .= str_repeat(chr($pad), $pad); <BR>} <BR>$encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB); <BR>return base64_encode($encrypt); <BR>} <br><br>function decrypt($str, $key) { <BR>$str = base64<span style="color:transparent">本文来源gaodai#ma#com搞*!代#%^码$网!</span><strong>搞代gaodaima码</strong>_decode($str); <BR>$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); <BR>$block = mcrypt_get_block_size('des', 'ecb'); <BR>$pad = ord($str[($len = strlen($str)) - 1]); <BR>if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) { <BR>$str = substr($str, 0, strlen($str) - $pad); <BR>} <BR>return unserialize($str); <BR>} <BR>
调用函数
<BR>$key = 'okyo.cn'; <BR>$data = array('id' => 100, 'username' => 'customer', 'password' => 'e10adc3949ba59abbe56e057f20f883e'); <BR>$snarr = serialize($data); <BR>$en = encrypt($data, $key); <BR>$de = decrypt($en, $key); <BR>echo "加密原型:"; <BR>print_r($data); <BR>echo " <BR>密钥:$key <br><br>加密结果:$en <br><br>解密结果:"; <BR>print_r($de); <BR>