php 使用base64加密、解密cookie的示例
内容摘要
这篇文章主要为大家详细介绍了php 使用base64加密、解密cookie的示例,具有一定的参考价值,可以用来参考一下。对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
文章正文
这篇文章主要为大家详细介绍了php 使用base64加密、解密cookie的示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <code class = "php" > <?php class Cookie { /** * 解密已经加密了的cookie * * @param * @author php教程 www.idcnote.com * @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教程(www.idcnote.com) ***/ </code> |
注:关于php 使用base64加密、解密cookie的示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释