一個簡潔的PHP可逆加密函數(shù)(分享)
很多時候我們需要對數(shù)據(jù)進行加密解密,比如有些數(shù)據(jù)需要保存到cookie中,但又不能被用戶輕易得到這些數(shù)據(jù),這時我們就需要加密這些數(shù)據(jù)保存到cookie中,等我們需要使用它們的時候再解密。
加密的過程如下:
// 加密數(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ù)的使用。
相關(guān)文章
PHP實現(xiàn)生成數(shù)據(jù)字典功能示例
這篇文章主要介紹了PHP實現(xiàn)生成數(shù)據(jù)字典功能,涉及php針對mysql常見的連接、數(shù)據(jù)表查詢、遍歷、table表格構(gòu)成等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
thinkphp(php)插件鉤子(hooks)分析的簡單實現(xiàn)機制
現(xiàn)在主流的cms或者blog等系統(tǒng)中,都內(nèi)置的有插件系統(tǒng),但是層層深入、剖析實現(xiàn)的方式,其實都是最簡單的鉤子的復雜化的實現(xiàn)。這篇文章主要介紹了thinkphp(php)插件鉤子(hooks)分析的簡單實現(xiàn)機制,需要的朋友可以參考下2023-03-03

