成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

給md5加密加一道防線XOR

CoderBear / 2041人閱讀

摘要:只要你的不泄露,加密是不能被解密的。加密字符串生成獲取加密文本的加密異或加密還原升級有的時候不是加密密碼而且文本,需要解密后知道文本內容,這個時候就不能用第一步加密,只需要把文本轉為。

版權聲明:原創(chuàng)文章歡迎轉載,不過要記得說明出處

其實用到的就是異或加密,隨機生成key,異或兩次就可以得到原字符串。只要你的key不泄露,xor加密是不能被解密的。雖然說md5名義上也是不能被技術解密,但是我知道"撞庫"還是可以解密的。

1.MD5加密字符串

    $str = md5("password");
    

2.生成key

    /**
     * 獲取加密文本的key
     */
    function getKey($count = 10) {
        $key    = "";
        $str    = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $result = "";
        for($i = 0; $i < $count; $i++) {
            $key = mt_rand(0, mb_strlen($str));
            $result .= $str[$key];
        }
    
        return $result;
    }
    
    $key = getKey(mb_strlen($str));
    

3.xor加密

    /**
     * 異或加密
     */
    function xorString($str, $key = "") {
        if(empty($key)) {
            return $str;
        }
        
        $result= "";
        for($i=0; $i < mb_strlen($str); $i++) {
            $result .= $str[$i] ^ $key[$i];
        }
        
        return $result;
    }
    
    $result = xorString($str, $key);
    

4.xor還原

    $str = xorString($result, $key);
    

5.升級

有的時候不是加密密碼而且文本,需要解密后知道文本內容,這個時候就不能用md5第一步加密,只需要把文本轉為json。它的密碼集是UTF-8編碼就避免漢字亂碼,而且也支持數(shù)組等。

    $str   = json_encode("動手測試一下吧");
    

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/23071.html

相關文章

  • vue中如何實現(xiàn)的自定義按鈕

    摘要:在實際開發(fā)項目中,有時我們會用到自定義按鈕因為一個項目中,眾多的頁面,為了統(tǒng)一風格,我們會重復用到很多相同或相似的按鈕,這時候,自定義按鈕組件就派上了大用場,我們把定義好的按鈕組件導出,在全局引用,就可以在其他組件隨意使用啦,這樣可以大幅度 在實際開發(fā)項目中,有時我們會用到自定義按鈕;因為一個項目中,眾多的頁面,為了統(tǒng)一風格,我們會重復用到很多相同或相似的按鈕,這時候,自定義按鈕組件就...

    biaoxiaoduan 評論0 收藏0
  • JavaScript代碼整潔之道

    摘要:代碼整潔之道整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護,同時降低幾率。另外這不是強制的代碼規(guī)范,就像原文中說的,。里式替換原則父類和子類應該可以被交換使用而不會出錯。注釋好的代碼是自解釋的。 JavaScript代碼整潔之道 整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護,同時降低bug幾率。 原文clean-c...

    liaorio 評論0 收藏0
  • 前端經(jīng)典面試題總結

    摘要:接著我之前寫的一篇有關前端面試題的總結,分享幾道比較經(jīng)典的題目第一題考點作用域,運算符栗子都會進行運算,但是最后之后輸出最后一個也就是那么其實就是而且是個匿名函數(shù),也就是屬于,就輸出第二和第三個都是類似的,而且作用域是都是輸出最后一個其實就 接著我之前寫的一篇有關前端面試題的總結,分享幾道比較經(jīng)典的題目: 第一題: showImg(https://segmentfault.com/im...

    BlackMass 評論0 收藏0
  • 私有云那家好-六大私有云廠商詳細對比!

    對比內容UCloudStackZStackVMwareQingCloud騰訊TStack華為云Stack優(yōu)勢總結?基于公有云自主可控?公有云架構私有化部署?輕量化/輕運維/易用性好?政府行業(yè)可復制案例輕量化 IaaS 虛擬化平臺?輕量化、產(chǎn)品成熟度高?業(yè)內好評度高?功能豐富、交付部署快?中小企業(yè)案例多全套虛擬產(chǎn)品及云平臺產(chǎn)品?完整生態(tài)鏈、技術成熟?比較全面且健全的渠道?產(chǎn)品成熟度被市場認可,市場占...

    ernest.wang 評論0 收藏0
  • cross-env使用記錄

    摘要:能跨平臺地設置及使用環(huán)境變量讓這一切變得簡單,不同平臺使用唯一指令,無需擔心跨平臺問題安裝方式改寫使用了環(huán)境變量的常見如在腳本多是里這么配置運行,這樣便設置成功,無需擔心跨平臺問題關于跨平臺兼容,有幾點注意 cross-env能跨平臺地設置及使用環(huán)境變量, cross-env讓這一切變得簡單,不同平臺使用唯一指令,無需擔心跨平臺問題 1、npm安裝方式 npm i --save-de...

    Michael_Ding 評論0 收藏0
  • webpack打包插件

    摘要:引入的模塊引入的使用將打包打包的拆分將一部分抽離出來物理地址拼接優(yōu)化打包速度壓縮代碼,這里使用的是,同樣在的里面添加 const path = require(path); //引入node的path模塊const webpack = require(webpack); //引入的webpack,使用lodashconst HtmlWebpackPlugin = require(ht...

    ChanceWong 評論0 收藏0

發(fā)表評論

0條評論

CoderBear

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<