程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php實現cookie加密的方法

php實現cookie加密的方法

編輯:關於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程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved