php實(shí)現(xiàn)cookie加密的方法
本文實(shí)例講述了php實(shí)現(xiàn)cookie加密的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
class Cookie
{
/**
* 解密已經(jīng)加密了的cookie
*
* @param string $encryptedText
* @return string
*/
private static function _decrypt($encryptedText)
{
$key = Config::get('secret_key');
$cryptText = base64_decode($encryptedText);
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
$decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv);
return trim($decryptText);
}
/**
* 加密cookie
*
* @param string $plainText
* @return string
*/
private static function _encrypt($plainText)
{
$key = Config::get('secret_key');
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
$encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv);
return trim(base64_encode($encryptText));
}
/**
* 刪除cookie
*
* @param array $args
* @return boolean
*/
public static function del($args)
{
$name = $args['name'];
$domain = isset($args['domain']) ? $args['domain'] : null;
return isset($_COOKIE[$name]) ? setcookie($name, '', time() - 86400, '/', $domain) : true;
}
/**
* 得到指定cookie的值
*
* @param string $name
*/
public static function get($name)
{
return isset($_COOKIE[$name]) ? self::_decrypt($_COOKIE[$name]) : null;
}
/**
* 設(shè)置cookie
*
* @param array $args
* @return boolean
*/
public static function set($args)
{
$name = $args['name'];
$value= self::_encrypt($args['value']);
$expire = isset($args['expire']) ? $args['expire'] : null;
$path = isset($args['path']) ? $args['path'] : '/';
$domain = isset($args['domain']) ? $args['domain'] : null;
$secure = isset($args['secure']) ? $args['secure'] : 0;
return setcookie($name, $value, $expire, $path, $domain, $secure);
}
}
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- 詳解PHP中cookie和session的區(qū)別及cookie和session用法小結(jié)
- thinkphp3.x中cookie方法的用法分析
- php通過(guò)curl添加cookie偽造登陸抓取數(shù)據(jù)的方法
- PHP基于cookie與session統(tǒng)計(jì)網(wǎng)站訪問(wèn)量并輸出顯示的方法
- php使用CURL不依賴COOKIEJAR獲取COOKIE的方法
- php使用cookie實(shí)現(xiàn)記住用戶名和密碼實(shí)現(xiàn)代碼
- php使用cookie實(shí)現(xiàn)記住登錄狀態(tài)
- php使用cookie保存用戶登錄的用戶名實(shí)例
- php使用cookie顯示用戶上次訪問(wèn)網(wǎng)站日期的方法
- PHP利用Cookie設(shè)置用戶30分鐘未操作自動(dòng)退出功能
相關(guān)文章
PHP $O00OO0=urldecode & eval 解密,記一次商業(yè)源碼的去后門(mén)
最近看到如下的php代碼$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");等很長(zhǎng)的代碼,這里給出破解方法,需要的朋友可以參考下2020-09-09
PHP如何實(shí)現(xiàn)Unicode和Utf-8編碼相互轉(zhuǎn)換
本文介紹了通過(guò)PHP實(shí)現(xiàn)一個(gè)函數(shù)可以對(duì)字符串進(jìn)行Unicode的編碼和解碼,需要的朋友可以參考下2015-07-07
php中郵箱地址正則表達(dá)式實(shí)現(xiàn)與詳解
本文章不但要講述了關(guān)于正則達(dá)式而且還講述了關(guān)于郵箱正則的構(gòu)成用法詳解,有需要了解的朋友可以參考一下,同時(shí)我們也提供了多種不同的郵箱驗(yàn)證實(shí)例2012-04-04
PHP實(shí)現(xiàn)識(shí)別復(fù)雜pdf文檔的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何使用PHP實(shí)現(xiàn)識(shí)別復(fù)雜pdf文檔的功能,文中的示例代碼講解詳細(xì),感興趣的徐海波可以跟隨小編一起學(xué)習(xí)一下2024-01-01
PHP開(kāi)發(fā)環(huán)境配置(MySQL數(shù)據(jù)庫(kù)安裝圖文教程)
下載完軟件后開(kāi)始PHP開(kāi)發(fā)環(huán)境的配置。注意是開(kāi)發(fā)環(huán)境,不是服務(wù)器環(huán)境。2010-04-04
PHP批量獲取網(wǎng)頁(yè)中所有固定種子鏈接的方法
這篇文章主要介紹了PHP批量獲取網(wǎng)頁(yè)中所有固定種子鏈接的方法,涉及php字符串與文件操作的相關(guān)技巧,需要的朋友可以參考下2016-11-11

