欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)cookie加密的方法

 更新時間:2015年03月10日 11:45:28   作者:小囧  
這篇文章主要介紹了php實現(xiàn)cookie加密的方法,涉及php操作cookie的加密、解密及設置等技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php實現(xiàn)cookie加密的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

復制代碼 代碼如下:
<?php
class Cookie
{
    /**
     * 解密已經(jīng)加密了的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組合模式Composite Pattern優(yōu)點與實現(xiàn)過程

    PHP組合模式Composite Pattern優(yōu)點與實現(xiàn)過程

    這篇文章主要介紹了PHP組合模式Composite Pattern優(yōu)點與實現(xiàn),組合模式是一種結構型模式,它允許你將對象組合成樹形結構來表示“部分-整體”的層次關系。組合能讓客戶端以一致的方式處理個別對象和對象組合
    2023-03-03
  • 不用mod_rewrite直接用php實現(xiàn)偽靜態(tài)化頁面代碼

    不用mod_rewrite直接用php實現(xiàn)偽靜態(tài)化頁面代碼

    不用mod_rewrite直接用php代碼實現(xiàn)偽靜態(tài)效果,大家看后就會發(fā)現(xiàn)php真的很方便
    2008-10-10
  • php采集時被封ip的解決方法

    php采集時被封ip的解決方法

    最近各種網(wǎng)站的采集程序?qū)懙谋容^多,遇到在采某網(wǎng)站時采到100多條時突然發(fā)現(xiàn)對方的網(wǎng)站打不開了,猜到肯定被封ip了,用了代理還是會封,這不是辦法。
    2010-08-08
  • PHP 防注入函數(shù)(格式化數(shù)據(jù))

    PHP 防注入函數(shù)(格式化數(shù)據(jù))

    下面的函數(shù)通過格式化數(shù)據(jù)的方法實現(xiàn)數(shù)據(jù)的addslashes,不過也建議大家參考下discuz的防注入函數(shù)。
    2011-08-08
  • php基礎知識:控制結構

    php基礎知識:控制結構

    php基礎知識:控制結構...
    2006-12-12
  • php class類的用法詳細總結

    php class類的用法詳細總結

    以下是對php中class類的用法進行了詳細的總結介紹,需要的朋友可以過來參考下
    2013-10-10
  • php版微信返回用戶text輸入的方法

    php版微信返回用戶text輸入的方法

    這篇文章主要介紹了php版微信返回用戶text輸入的方法,結合實例形式分析了php實現(xiàn)的微信解析及返回用戶輸入數(shù)據(jù)的相關操作技巧,需要的朋友可以參考下
    2016-11-11
  • PHP將session信息存儲到數(shù)據(jù)庫的類實例

    PHP將session信息存儲到數(shù)據(jù)庫的類實例

    這篇文章主要介紹了PHP將session信息存儲到數(shù)據(jù)庫的類,實例分析了php封裝的session信息存儲到數(shù)據(jù)庫的類,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 使用Zttp簡化Guzzle 調(diào)用

    使用Zttp簡化Guzzle 調(diào)用

    在 PHP 的項目中,如果你需要通過代碼來發(fā)起 HTTP 請求,相信很多人對 GuzzleHttp 這個 Package 很熟悉,然而其實在使用 Guzzle 的時候,我們依然可以做得更簡便一點的,下面我們就來看下今天的主角--Zhttp
    2017-07-07
  • PHP使用curl模擬post上傳及接收文件的方法

    PHP使用curl模擬post上傳及接收文件的方法

    這篇文章主要介紹了PHP使用curl模擬post上傳及接收文件的方法,涉及PHP使用curl實現(xiàn)post文件傳輸?shù)南嚓P技巧,需要的朋友可以參考下
    2016-03-03

最新評論