php實現cookie加密的方法_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:php遍歷目錄方法小結
      這篇文章主要介紹了php遍歷目錄方法,實例總結了常用的兩種實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例總結了php遍歷目錄方法。分享給大家供大家參考。具體如下: 1. 方法1 ? 2. 方法2 ? 希望本文所述對大家的php程序設計有所幫助。

       這篇文章主要介紹了php實現cookie加密的方法,涉及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_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樹的深度編歷生成迷宮及A*自動尋路算法實例分析
      這篇文章主要介紹了PHP樹的深度編歷生成迷宮及A*自動尋路算法,實例分析了php實現A*尋路算法的技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例講述了PHP樹的深度編歷生成迷宮及A*自動尋路算法。分享給大家供大家參考。具體分析如下: 有一同事推薦了三思的迷

      來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-11
      相關PHP教程