摘要:只要你的不泄露,加密是不能被解密的。加密字符串生成獲取加密文本的加密異或加密還原升級(jí)有的時(shí)候不是加密密碼而且文本,需要解密后知道文本內(nèi)容,這個(gè)時(shí)候就不能用第一步加密,只需要把文本轉(zhuǎn)為。
版權(quán)聲明:原創(chuàng)文章歡迎轉(zhuǎn)載,不過要記得說明出處
其實(shí)用到的就是異或加密,隨機(jī)生成key,異或兩次就可以得到原字符串。只要你的key不泄露,xor加密是不能被解密的。雖然說md5名義上也是不能被技術(shù)解密,但是我知道"撞庫(kù)"還是可以解密的。
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.升級(jí)
有的時(shí)候不是加密密碼而且文本,需要解密后知道文本內(nèi)容,這個(gè)時(shí)候就不能用md5第一步加密,只需要把文本轉(zhuǎn)為json。它的密碼集是UTF-8編碼就避免漢字亂碼,而且也支持?jǐn)?shù)組等。
$str = json_encode("動(dòng)手測(cè)試一下吧");
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/23071.html
摘要:在實(shí)際開發(fā)項(xiàng)目中,有時(shí)我們會(huì)用到自定義按鈕因?yàn)橐粋€(gè)項(xiàng)目中,眾多的頁面,為了統(tǒng)一風(fēng)格,我們會(huì)重復(fù)用到很多相同或相似的按鈕,這時(shí)候,自定義按鈕組件就派上了大用場(chǎng),我們把定義好的按鈕組件導(dǎo)出,在全局引用,就可以在其他組件隨意使用啦,這樣可以大幅度 在實(shí)際開發(fā)項(xiàng)目中,有時(shí)我們會(huì)用到自定義按鈕;因?yàn)橐粋€(gè)項(xiàng)目中,眾多的頁面,為了統(tǒng)一風(fēng)格,我們會(huì)重復(fù)用到很多相同或相似的按鈕,這時(shí)候,自定義按鈕組件就...
摘要:代碼整潔之道整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護(hù),同時(shí)降低幾率。另外這不是強(qiáng)制的代碼規(guī)范,就像原文中說的,。里式替換原則父類和子類應(yīng)該可以被交換使用而不會(huì)出錯(cuò)。注釋好的代碼是自解釋的。 JavaScript代碼整潔之道 整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護(hù),同時(shí)降低bug幾率。 原文clean-c...
摘要:接著我之前寫的一篇有關(guān)前端面試題的總結(jié),分享幾道比較經(jīng)典的題目第一題考點(diǎn)作用域,運(yùn)算符栗子都會(huì)進(jìn)行運(yùn)算,但是最后之后輸出最后一個(gè)也就是那么其實(shí)就是而且是個(gè)匿名函數(shù),也就是屬于,就輸出第二和第三個(gè)都是類似的,而且作用域是都是輸出最后一個(gè)其實(shí)就 接著我之前寫的一篇有關(guān)前端面試題的總結(jié),分享幾道比較經(jīng)典的題目: 第一題: showImg(https://segmentfault.com/im...
對(duì)比內(nèi)容UCloudStackZStackVMwareQingCloud騰訊TStack華為云Stack優(yōu)勢(shì)總結(jié)?基于公有云自主可控?公有云架構(gòu)私有化部署?輕量化/輕運(yùn)維/易用性好?政府行業(yè)可復(fù)制案例輕量化 IaaS 虛擬化平臺(tái)?輕量化、產(chǎn)品成熟度高?業(yè)內(nèi)好評(píng)度高?功能豐富、交付部署快?中小企業(yè)案例多全套虛擬產(chǎn)品及云平臺(tái)產(chǎn)品?完整生態(tài)鏈、技術(shù)成熟?比較全面且健全的渠道?產(chǎn)品成熟度被市場(chǎng)認(rèn)可,市場(chǎng)占...
摘要:能跨平臺(tái)地設(shè)置及使用環(huán)境變量讓這一切變得簡(jiǎn)單,不同平臺(tái)使用唯一指令,無需擔(dān)心跨平臺(tái)問題安裝方式改寫使用了環(huán)境變量的常見如在腳本多是里這么配置運(yùn)行,這樣便設(shè)置成功,無需擔(dān)心跨平臺(tái)問題關(guān)于跨平臺(tái)兼容,有幾點(diǎn)注意 cross-env能跨平臺(tái)地設(shè)置及使用環(huán)境變量, cross-env讓這一切變得簡(jiǎn)單,不同平臺(tái)使用唯一指令,無需擔(dān)心跨平臺(tái)問題 1、npm安裝方式 npm i --save-de...
摘要:引入的模塊引入的使用將打包打包的拆分將一部分抽離出來物理地址拼接優(yōu)化打包速度壓縮代碼,這里使用的是,同樣在的里面添加 const path = require(path); //引入node的path模塊const webpack = require(webpack); //引入的webpack,使用lodashconst HtmlWebpackPlugin = require(ht...
閱讀 2571·2021-08-20 09:38
閱讀 1355·2019-08-30 15:43
閱讀 593·2019-08-29 17:13
閱讀 1601·2019-08-29 14:01
閱讀 1314·2019-08-29 13:29
閱讀 2322·2019-08-23 18:29
閱讀 2047·2019-08-23 17:51
閱讀 1915·2019-08-23 17:16