php实现cookie加密解密
2016-06-01 17:10
501 查看
1.加密解密类
2.cookie加密解密类
class Mcrypt { /** * 解密 * * @param string $encryptedText 已加密字符串 * @param string $key 密钥 * @return string */ public static function _decrypt($encryptedText,$key = null) { $key = $key === null ? Config::get('secret_key') : $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); } /** * 加密 * * @param string $plainText 未加密字符串 * @param string $key 密钥 */ public static function _encrypt($plainText,$key = null) { $key = $key === null ? Config::get('secret_key') : $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)); } }
2.cookie加密解密类
<?php class Cookie extends Mcrypt { /** * 删除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]) ? parent::_decrypt($_COOKIE[$name]) : null; } /** * 设置cookie * * @param array $args * @return boolean */ public static function set($args) { $name = $args['name']; $value= parent::_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); } }
相关文章推荐
- Openresty+YII2.0下开发RestfulAPI系列1:环境安装
- 三个php加密解密算法
- php_pdo 事务处理
- 一个经典的PHP加密解密算法
- PHP--封装一个下载图片的方法
- 一组PHP可逆加密解密算法
- php安装composer是报错解决
- ubuntu服务器中安装设置ftp服务器
- Windows下搭建PHP开发环境-WEB服务器
- 关于初学TP的一点小小感悟
- PHP文件上传进度处理方法
- [转]日请求过亿的Web系统PHP7升级实践
- php引用赋值& 和传递赋值
- PHP基础笔记(01)
- PHP Warning: mkdir() [function.mkdir]: Permission denied in解决方法
- PHP菜鸟如何开始学习PHP语言
- PHP邮箱验证示例教程
- crontab执行php的问题
- 本地环境phpStorm10+XDebug配置和断点调试
- php处理emoji表情方法集合