|
很多時候我們需要對數(shù)據(jù)進(jìn)行加密解密,比如有些數(shù)據(jù)需要保存到cookie中,但又不能被用戶輕易得到這些數(shù)據(jù),這時我們就需要加密這些數(shù)據(jù)保存到cookie中,等我們需要使用它們的時候再解密。
加密的過程如下:
復(fù)制代碼 代碼如下:
// 加密數(shù)據(jù)并寫到cookie里
$cookie_data = $this -> encrypt("nowamagic", $data);
$cookie = array(
'name' => '$data',
'value' => $cookie_data,
'expire' => $user_expire,
'domain' => '',
'path' => '/',
'prefix' => ''
);
$this->input->set_cookie($cookie);
// 加密
public function encrypt($key, $plain_text) {
$plain_text = trim($plain_text);
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
$c_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $plain_text, MCRYPT_ENCRYPT, $iv);
return trim(chop(base64_encode($c_t)));
}
使用的時候再解密:
if( isset($_COOKIE['data']) )
{
//用cookie給session賦值
$_SESSION['data'] = decrypt("nowamagic", $_COOKIE['data']);
}
function decrypt($key, $c_t) {
$c_t = trim(chop(base64_decode($c_t)));
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
$p_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $c_t, MCRYPT_DECRYPT, $iv);
return trim(chop($p_t));
}
這里記錄下這個可逆的加密函數(shù)的使用。
php技術(shù):一個簡潔的PHP可逆加密函數(shù)(分享),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。