MD5 Base64 DES介紹

A). Base64
Base64編碼的思想是是采用64個基本的ASCII碼字符對數(shù)據(jù)進行重新編碼指厌。它將需要編碼的數(shù)據(jù)拆分成字節(jié)數(shù)組芝硬。以3個字節(jié)為一組。按順序排列24位數(shù)據(jù)躲舌,再把這24位數(shù)據(jù)分成4組会通,即每組6位口予。再在每組的的最高位前補兩個0湊足一個字節(jié)。這樣就把一個3字節(jié)為一組的數(shù)據(jù)重新編碼成了4個字節(jié)涕侈。當所要編碼的數(shù)據(jù)的字節(jié)數(shù)不是3的整倍數(shù)沪停,也就是說在分組時最后一組不夠3個字節(jié)。這時在最后一組填充1到2個0字節(jié)裳涛。并在最后編碼完成后在結(jié)尾添加1到2個“=”木张。例:將對ABC進行BASE64編碼首先取ABC對應(yīng)的ASCII碼值。A(65)B(66)C(67)调违。再取二進制值A(chǔ)(01000001)B(01000010)C(01000011)窟哺,然后把這三個字節(jié)的二進制碼接起來(010000010100001001000011),再以6位為單位分成4個數(shù)據(jù)塊并在最高位填充兩個0后形成4個字節(jié)的編碼后的值(00010000)(00010100)(00001001)(00000011)技肩。藍色部分為真實數(shù)據(jù)且轨。再把這四個字節(jié)數(shù)據(jù)轉(zhuǎn)化成10進制數(shù)得(16)(20)(19)(3)浮声。最后根據(jù)BASE64給出的64個基本字符表,查出對應(yīng)的ASCII碼字符(Q)(U)(J)(D)旋奢。這里的值實際就是數(shù)據(jù)在字符表中的索引泳挥。注:BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
解碼過程就是把4個字節(jié)再還原成3個字節(jié)再根據(jù)不同的數(shù)據(jù)形式把字節(jié)數(shù)組重新整理成數(shù)據(jù)。
B). DES
DES是Data Encryption Standard(數(shù)據(jù)加密標準)的縮寫至朗。DES是一個分組加密算法屉符,他以64位為分組對數(shù)據(jù)加密。同時DES也是一個對稱算法:加密和解密用的是同一個算法锹引。它的密匙長度是56位(因為每個第8位都用作奇偶校驗)倦畅,密匙可以是任意的56位的數(shù)哲嘲,而且可以任意時候改變虐块。其中有極少量的數(shù)被認為是弱密匙并村,但是很容易避開他們。所以保密性依賴于密鑰腾啥。
DES對64(bit)位的明文分組M進行操作东涡,M經(jīng)過一個初始置換IP置換成m0,將m0明文分成左半部分和右半部分m0=(L0,R0)倘待,各32位長疮跑。然后進行16輪完全相同的運算,這些運算被稱為函數(shù)f凸舵,在運算過程中數(shù)據(jù)與密匙結(jié)合祖娘。經(jīng)過16輪后,左贞间,右半部分合在一起經(jīng)過一個末置換贿条,這樣就完成了。在每一輪中增热,密匙位移位,然后再從密匙的56位中選出48位胧辽。通過一個擴展置換將數(shù)據(jù)的右半部分擴展成48位峻仇,并通過一個異或操作替代成新的32位數(shù)據(jù),在將其置換換一次邑商。這四步運算構(gòu)成了函數(shù)f摄咆。然后,通過另一個異或運算人断,函數(shù)f的輸出與左半部分結(jié)合吭从,其結(jié)果成為新的右半部分,原來的右半部分成為新的左半部分恶迈。將該操作重復(fù)16次涩金,就實現(xiàn)了。
解密過程:在經(jīng)過所有的代替、置換步做、異或盒循環(huán)之后副渴,你也許認為解密算法與加密算法完全不同。恰恰相反全度,經(jīng)過精心選擇的各種操作煮剧,獲得了一個非常有用的性質(zhì):加密和解密使用相同的算法。DES加密和解密唯一的不同是密匙的次序相反将鸵。如果各輪加密密匙分別是K1,K2,K3….K16那么解密密匙就是K16,K15,K14…K1勉盅。
C). MD5
MD5的全稱是Message-DigestAlgorithm 5,Message-Digest泛指字節(jié)串(Message)的Hash變換顶掉,就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù)菇篡。請注意我使用了"字節(jié)串"而不是"字符串"這個詞,是因為這種變換只與字節(jié)的值有關(guān)一喘,與字符集或編碼方式無關(guān)驱还。 MD5將任意長度的"字節(jié)串"變換成一個128bit的大整數(shù),并且它是一個不可逆的字符串變換算法凸克,換句話說就是议蟆,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串萎战,從數(shù)學(xué)原理上說咐容,是因為原始的字符串有無窮多個,這有點象不存在反函數(shù)的數(shù)學(xué)函數(shù)蚂维。
MD5的典型應(yīng)用是對一段Message(字節(jié)串)產(chǎn)生fingerprint(指紋)戳粒,以防止被"篡改"。舉個例子虫啥,你將一段話寫在一個叫readme.txt文件中蔚约,并對這個readme.txt產(chǎn)生一個MD5的值并記錄在案,然后你可以傳播這個文件給別人涂籽,別人如果修改了文件中的任何內(nèi)容苹祟,你對這個文件重新計算MD5時就會發(fā)現(xiàn)。如果再有一個第三方的認證機構(gòu)评雌,用MD5還可以防止文件作者的"抵賴"树枫,這就是所謂的數(shù)字簽名應(yīng)用。
MD5還廣泛用于加密和解密技術(shù)上景东,在很多操作系統(tǒng)中砂轻,用戶的密碼是以MD5值(或類似的其它算法)的方式保存的,用戶Login的時候斤吐,系統(tǒng)是把用戶輸入的密碼計算成MD5值搔涝,然后再去和系統(tǒng)中保存的MD5值進行比較厨喂,而系統(tǒng)并不"知道"用戶的密碼是什么。
一些黑客破獲這種密碼的方法是一種被稱為"跑字典"的方法体谒。有兩種方法得到字典杯聚,一種是日常搜集的用做密碼的字符串表,另一種是用排列組合方法生成的抒痒,先用MD5程序計算出這些字典項的MD5值幌绍,然后再用目標的MD5值在這個字典中檢索。即使假設(shè)密碼的最大長度為8故响,同時密碼只能是字母和數(shù)字傀广,共26+26+10=62個字符,排列組合出的字典的項數(shù)則是P(62,1)+P(62,2)....+P(62,8)彩届,那也已經(jīng)是一個很天文的數(shù)字了伪冰,存儲這個字典就需要TB級的磁盤組,而且這種方法還有一個前提樟蠕,就是能獲得目標賬戶的密碼MD5值的情況下才可以贮聂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市寨辩,隨后出現(xiàn)的幾起案子吓懈,更是在濱河造成了極大的恐慌,老刑警劉巖靡狞,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耻警,死亡現(xiàn)場離奇詭異,居然都是意外死亡甸怕,警方通過查閱死者的電腦和手機甘穿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梢杭,“玉大人温兼,你說我怎么就攤上這事∈角” “怎么了妨托?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吝羞。 經(jīng)常有香客問我,道長内颗,這世上最難降的妖魔是什么钧排? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮均澳,結(jié)果婚禮上恨溜,老公的妹妹穿的比我還像新娘符衔。我一直安慰自己,他們只是感情好糟袁,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布判族。 她就那樣靜靜地躺著,像睡著了一般项戴。 火紅的嫁衣襯著肌膚如雪形帮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天周叮,我揣著相機與錄音辩撑,去河邊找鬼。 笑死仿耽,一個胖子當著我的面吹牛合冀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播项贺,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼君躺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了开缎?” 一聲冷哼從身側(cè)響起棕叫,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啥箭,沒想到半個月后谍珊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡急侥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年砌滞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坏怪。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡贝润,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铝宵,到底是詐尸還是另有隱情打掘,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布鹏秋,位于F島的核電站尊蚁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏侣夷。R本人自食惡果不足惜横朋,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望百拓。 院中可真熱鬧琴锭,春花似錦晰甚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至地回,卻和暖如春扁远,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背落君。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工穿香, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绎速。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓皮获,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纹冤。 傳聞我的和親對象是個殘疾皇子洒宝,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容