最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php加密解密實用類分享

 更新時間:2014年01月07日 16:32:47   作者:  
加密和解密是一項常規(guī)任務(wù),這里介紹一個加解密類。如果你想在用戶忘記密碼時為他或她找回原來的密碼,那么這個類是個好用的工具

用戶注冊的密碼一般不會明文保存,總得加個密先。最簡單的當(dāng)然是在數(shù)據(jù)庫sql語句中調(diào)用md5函數(shù)加密用戶密碼。這里介紹一個加解密類。如果你想在用戶忘記密碼時為他或她找回原來的密碼,那么這個類是個好用的工具。當(dāng)然,這個加解密類也可用于其他用途。

復(fù)制代碼 代碼如下:

<?php

class crypt {

    private $skey;

    public function __construct($key) {
        $this->skey = hash("md5", $key, true); //32位skey
    }

    public function safe_b64encode($string) {
        $data = base64_encode($string);
        $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);
        return $data;
    }

    public function safe_b64decode($string) {
        $data = str_replace(array('-', '_'), array('+', '/'), $string);
        $mod4 = strlen($data) % 4;
        if ($mod4) {
            $data .= substr('====', $mod4);
        }
        return base64_decode($data);
    }

    public function encode($value) {
        if (!$value) {
            return false;
        }
        $text = $value;
        $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv);
        return trim($this->safe_b64encode($crypttext));
    }

    public function decode($value) {
        if (!$value) {
            return false;
        }
        $crypttext = $this->safe_b64decode($value);
        $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv);
        return trim($decrypttext);
    }

}

相關(guān)文章

  • Laravel使用支付寶進(jìn)行支付的示例代碼

    Laravel使用支付寶進(jìn)行支付的示例代碼

    本篇文章主要介紹了Laravel使用支付寶進(jìn)行支付的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 淺談lumen的自定義依賴注入

    淺談lumen的自定義依賴注入

    下面小編就為大家?guī)硪黄獪\談lumen的自定義依賴注入。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • PHP封裝分頁函數(shù)實現(xiàn)文本分頁和數(shù)字分頁

    PHP封裝分頁函數(shù)實現(xiàn)文本分頁和數(shù)字分頁

    本文主要是給大家分享了一段PHP的封裝好的分頁函數(shù),可以實現(xiàn)文本分頁和數(shù)字分頁兩種形式,非常的實用,有需要的朋友可以參考下
    2014-10-10
  • Laravel框架中composer自動加載的實現(xiàn)分析

    Laravel框架中composer自動加載的實現(xiàn)分析

    Laravel作為在國內(nèi)國外都頗為流行的PHP框架,風(fēng)格優(yōu)雅,其擁有自己的一些特點。下面這篇文章主要給大家介紹了關(guān)于Laravel框架中composer自動加載實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • php檢查函數(shù)必傳參數(shù)是否存在的實例詳解

    php檢查函數(shù)必傳參數(shù)是否存在的實例詳解

    這篇文章主要介紹了php檢查函數(shù)必傳參數(shù)是否存在的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • YII2框架中使用RBAC對模塊,控制器,方法的權(quán)限控制及規(guī)則的使用示例

    YII2框架中使用RBAC對模塊,控制器,方法的權(quán)限控制及規(guī)則的使用示例

    這篇文章主要介紹了YII2框架中使用RBAC對模塊,控制器,方法的權(quán)限控制及規(guī)則的使用,結(jié)合實例形式分析了YII2框架RBAC對模塊,控制器,方法的權(quán)限控制及規(guī)則的使用相關(guān)原理與操作技巧,需要的朋友可以參考下
    2020-03-03
  • laravel5.6 框架操作數(shù)據(jù) Eloquent ORM用法示例

    laravel5.6 框架操作數(shù)據(jù) Eloquent ORM用法示例

    這篇文章主要介紹了laravel5.6 框架操作數(shù)據(jù) Eloquent ORM用法,結(jié)合實例形式詳細(xì)分析了laravel5.6 框架使用Eloquent ORM操作數(shù)據(jù)增刪改查相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • Laravel框架查詢構(gòu)造器 CURD操作示例

    Laravel框架查詢構(gòu)造器 CURD操作示例

    這篇文章主要介紹了Laravel框架查詢構(gòu)造器 CURD操作,結(jié)合實例形式分析了Laravel框架使用查詢構(gòu)造器進(jìn)行CURD操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • 服務(wù)器上配置PHP運行環(huán)境教程

    服務(wù)器上配置PHP運行環(huán)境教程

    這篇文章主要介紹了如何在服務(wù)器上配置PHP運行環(huán)境的方法及相關(guān)配置,十分全面,這里推薦給大家。
    2015-02-02
  • 用PHP讀取RSS feed的代碼

    用PHP讀取RSS feed的代碼

    由于需要讀取不同來源的rss feed,寫了一個php程序來循環(huán)讀取rss feed,為了方便閱讀及了解程序?qū)崿F(xiàn)過程,加上了注釋,和大家共同學(xué)習(xí)。
    2008-08-08

最新評論

洛扎县| 黄浦区| 枝江市| 三原县| 开原市| 鲁山县| 托克逊县| 凤凰县| 武功县| 米易县| 西和县| 鄂托克前旗| 保亭| 清水河县| 顺义区| 凌源市| 新源县| 图木舒克市| 江源县| 抚远县| 襄汾县| 望城县| 嘉峪关市| 禄丰县| 鹰潭市| 崇左市| 宜城市| 台江县| 盐亭县| 蒙山县| 昭通市| 孝昌县| 怀仁县| 日土县| 葵青区| 扎赉特旗| 霞浦县| 武邑县| 剑阁县| 奈曼旗| 庆阳市|