php实现cookie加密解密

来源:互联网 发布:谷嫂淘宝同款 破解版 编辑:程序博客网 时间:2024/06/05 06:08
1.加密解密类

 

 1 class Mcrypt 2 { 3     /** 4      * 解密 5      *  6      * @param string $encryptedText 已加密字符串 7      * @param string $key  密钥 8      * @return string 9      */10     public static function _decrypt($encryptedText,$key = null)11     {12         $key = $key === null ? Config::get('secret_key') : $key;13         $cryptText = base64_decode($encryptedText);14         $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);15         $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);16         $decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv);17         return trim($decryptText);18     }19  20     /**21      * 加密22      *23      * @param string $plainText 未加密字符串 24      * @param string $key        密钥25      */26     public static function _encrypt($plainText,$key = null)27     {28         $key = $key === null ? Config::get('secret_key') : $key;29         $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);30         $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);31         $encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv);32         return trim(base64_encode($encryptText));33     }34 }

 

 

2.cookie加密解密类

 

 1 <?php 2 class Cookie extends Mcrypt 3 { 4     /** 5      * 删除cookie 6      *  7      * @param array $args 8      * @return boolean 9      */10     public static function del($args)11     {12         $name = $args['name'];13         $domain = isset($args['domain']) ? $args['domain'] : null;14         return isset($_COOKIE[$name]) ? setcookie($name, '', time() - 86400, '/', $domain) : true;15     }16      17     /**18      * 得到指定cookie的值19      * 20      * @param string $name21      */22     public static function get($name)23     {24         return isset($_COOKIE[$name]) ? parent::_decrypt($_COOKIE[$name]) : null;25     }26      27     /**28      * 设置cookie29      *30      * @param array $args31      * @return boolean32      */33     public static function set($args)34     {35         $name = $args['name'];36         $value= parent::_encrypt($args['value']);37         $expire = isset($args['expire']) ? $args['expire'] : null;38         $path = isset($args['path']) ? $args['path'] : '/';39         $domain = isset($args['domain']) ? $args['domain'] : null;40         $secure = isset($args['secure']) ? $args['secure'] : 0;41         return setcookie($name, $value, $expire, $path, $domain, $secure);42     }43 }

 

原创粉丝点击