php实现cookie加密的方法

本文实例讲述了PHP实现cookie加密的方法分享给大家供大家参考。具体实现方法如下:

代码如下:
PHP 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_RAND); $encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256,$plainText,$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); } }

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...