这篇文章主要介绍了php实现cookie加密的方法,涉及php操作cookie的加密、解密及设置等技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了php实现cookie加密的方法。具体实现方法如下:
代码如下:
<?phpclass 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); }}
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
php实现针对指定后缀文件的批量上传功能
php实现针对html标签中结束标签的检测与补全功能
php实例分析了php中类常量的概念
以上就是php操作cookie的加密、解密的方法的详细内容。