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

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容