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

php之Aes加密案例講解

 更新時間:2021年08月04日 09:17:58   作者:咔咔-  
這篇文章主要介紹了php之Aes加密案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

在項目中,尤其是pc端的時候,我們在用戶登錄后會給前端返回一個標識,來判斷用戶是否登錄,這個標識大多數(shù)都是用戶的id

image.png                                       ​

但是這里存在很大的弊端,那就是這個值可以修改,假如說把我這個值一修改,我就可以獲取到修改的用戶的所有信息,可怕吧!

那么今天就使用aes進行加密處理一下

<?php
namespace app\api\controller;
 
/**
 * aes 加密 解密類庫
 * Class Aes
 * @package app\common\lib
 */
class Aes {
 
    private $key = null;
 
    /**
     *
     * @param $key 		密鑰
     * @return String
     */
    public function __construct() {
        // 需要小伙伴在配置文件app.php中定義aeskey
        $this->key = '1234567891112121';
    }
 
    /**
     * 加密
     * @param String input 加密的字符串
     * @param String key   解密的key
     * @return HexString
     */
    public function encrypt($input = '') {
        $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
        $input = $this->pkcs5_pad($input, $size);
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
        mcrypt_generic_init($td, $this->key, $iv);
 
        $data = mcrypt_generic($td, $input);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        $data = base64_encode($data);
 
        return $data;
 
    }
    /**
     * 填充方式 pkcs5
     * @param String text 		 原始字符串
     * @param String blocksize   加密長度
     * @return String
     */
    private function pkcs5_pad($text, $blocksize) {
        $pad = $blocksize - (strlen($text) % $blocksize);
        return $text . str_repeat(chr($pad), $pad);
    }
 
    /**
     * 解密
     * @param String input 解密的字符串
     * @param String key   解密的key
     * @return String
     */
    public function decrypt($sStr) {
        $decrypted= mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$this->key,base64_decode($sStr), MCRYPT_MODE_ECB);
        $dec_s = strlen($decrypted);
        $padding = ord($decrypted[$dec_s-1]);
        $decrypted = substr($decrypted, 0, -$padding);
 
        return $decrypted;
    }
 
}

這是一個aes的工具類。注意一下,這個值需要我們來自改,而且是16位

image.png                                           ​

這樣我們用戶在登錄時會把id返回給前端

首先在控制器引入

image.png                                           ​

然后進行實例化

image.png                                           ​

用戶在登錄成功后我們把這個值給加密返回前端

image.png                                           ​

這個u_id就是加密后的值

image.png                                           ​

然后我們在comment文件設置這倆個方法,這倆個方法是對參數(shù)進行統(tǒng)一處理,那么我么那就在這里判斷一下,凡是用到用戶id的接口把用戶id進行解密即可

image.png                                           ​

到此這篇關于php之Aes加密案例講解的文章就介紹到這了,更多相關php之Aes加密內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • php示例詳解Constructor Prototype Pattern 原型模式

    php示例詳解Constructor Prototype Pattern 原型模式

    原型模式是一種創(chuàng)建者模式,其特點在于通過“復制”一個已經存在的實例來返回新的實例,而不是新建實例。
    2015-10-10
  • thinkphp中字符截取函數(shù)msubstr()用法分析

    thinkphp中字符截取函數(shù)msubstr()用法分析

    這篇文章主要介紹了thinkphp中字符截取函數(shù)msubstr()用法,結合實例形式較為詳細的分析了thinkPHP中字符截取函數(shù)msubstr()的功能、定義使用技巧與注意事項,需要的朋友可以參考下
    2016-01-01
  • PHP如何初始化PDO及原始SQL語句操作

    PHP如何初始化PDO及原始SQL語句操作

    PDO 已經是 PHP 中操作數(shù)據(jù)庫事實上的標準。包括現(xiàn)在的框架和各種類庫,都是以 PDO 作為數(shù)據(jù)庫的連接方式?;旧现挥形覀冏约涸趯懞唵蔚臏y試代碼或者小的功能時會使用 mysqli 來操作數(shù)據(jù)庫。注意,普通的 mysql 擴展已經過時了哦!
    2021-06-06
  • PHP文件大小格式化函數(shù)合集

    PHP文件大小格式化函數(shù)合集

    php中有一個系統(tǒng)自帶的計算文件大小的函數(shù),就是filesize(),但是這個函數(shù)是以字節(jié)為單位的,在一些情況下,我們需要很直觀的了解一個文件大小,就不僅僅需要字節(jié)B這個單位了,還需要KB,MB,GB,甚至更大TB,PB,所以我們需要自己寫一些函數(shù)來格式化filesize()的輸出結果
    2014-03-03
  • PHP實現(xiàn)微信退款功能

    PHP實現(xiàn)微信退款功能

    這篇文章主要為大家詳細介紹了PHP實現(xiàn)微信退款功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • php解決約瑟夫環(huán)示例

    php解決約瑟夫環(huán)示例

    這篇文章主要介紹了php解決約瑟夫環(huán)示例,需要的朋友可以參考下
    2014-04-04
  • Laravel使用RabbitMQ的方法示例

    Laravel使用RabbitMQ的方法示例

    這篇文章主要介紹了Laravel使用RabbitMQ的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • destoon二次開發(fā)入門示例

    destoon二次開發(fā)入門示例

    這篇文章主要介紹了destoon二次開發(fā),需要的朋友可以參考下
    2014-06-06
  • 深入理解PHP JSON數(shù)組與對象

    深入理解PHP JSON數(shù)組與對象

    很多朋友很郁悶JSON數(shù)據(jù)中有時格式不定,一會兒是數(shù)組,一會兒是對象,怎么回事呢?下面小編給大家?guī)砹藀hp json數(shù)組與對象的相關知識,非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-07-07
  • PHP curl模擬登錄帶驗證碼的網站

    PHP curl模擬登錄帶驗證碼的網站

    最近接了個項目,其中有需求是要登錄帶驗證碼的網站,獲取數(shù)據(jù),但是我們不可能人為的一直去記錄數(shù)據(jù),想通過自動采集的方式進行,下面小編給大家?guī)淼南嚓P代碼,對php curl 模擬登錄帶驗證碼的網站感興趣的朋友一起學習吧
    2015-11-11

最新評論

大庆市| 吉林市| 灵寿县| 灵璧县| 都匀市| 巴彦淖尔市| 通化县| 天峨县| 白河县| 会泽县| 应城市| 荥经县| 德令哈市| 穆棱市| 平阴县| 南雄市| 科尔| 共和县| 乳源| 滕州市| 东源县| 镇原县| 涟源市| 乌兰浩特市| 沾化县| 泽库县| 宣化县| 北安市| 三河市| 庆城县| 乌什县| 屏东市| 波密县| 名山县| 海盐县| 五莲县| 青川县| 花垣县| 通许县| 繁昌县| 通河县|