php cookie加密 类,PHP cookie加密类
class?Cookie
{
/**
*?解密已經加密了的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;
}
/**
*?設置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);
}
}
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的php cookie加密 类,PHP cookie加密类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 何小鹏余承东“和解”!何小鹏:“有时候误
- 下一篇: 魅族为 Flyme 征集中文 OS 名称