當(dāng)柳上原的風(fēng)吹向天際的時候...

          真正的快樂來源于創(chuàng)造

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
          MD5是消息摘要算法的一種,它和SHA,HMAC是消息摘要算法的主要代表,其前身有MD2,MD3,MD4算法。
          消息摘要算法又稱為散列算法,其不可破解的核心在于散列函數(shù)的單向性,即可以通過散列函數(shù)得到結(jié)果,卻不可能通過結(jié)果反推出其原始信息。這是消息摘要算法的安全性根本所在。如果用戶輸入的密碼是123456789,則會得到25f9e794323b453885f5181f1b624d0這樣的結(jié)果;如果有人拿到25f9e794323b453885f5181f1b624d0這樣的結(jié)果,他是不可能反推出密碼123456789的。
          但是,總所周知的是,MD5已經(jīng)被我國山東大學(xué)王小云教授攻破了。他是怎么做到這不可能的事呢?當(dāng)然不是反推,而是使用的碰撞算法,具體來說就是,拿到25f9e794323b453885f5181f1b624d0這樣的結(jié)果,用多種精心設(shè)計的字符串去試試,總有一個字符串經(jīng)MD5加密后能得到25f9e794323b453885f5181f1b624d0這樣的結(jié)果,這個字符串也許是真實(shí)密碼,也是是別的,但它加密后可以得到和123456789加密后一樣的效果。這就意味著,你給自己設(shè)定的密碼,別人通過其他密碼也可能通過驗證!
          其原因還是在于散列函數(shù),不同的輸入通過散列函數(shù)可能得到同一結(jié)果,雖然這個可能性較小。王教授成果的意義在于,以前號稱用全世界所有計算機(jī)算一百年不能做到的,用他的辦法用一臺普通微機(jī)在數(shù)個小時內(nèi)就能做到。這個很了不起,諸位如果有意可以去當(dāng)他的研究生,這樣就知道是怎么做的了。
          那么,MD5還有存在的價值嗎。當(dāng)然有,因為破解者要破解成功有三個必要條件,一,知道算法;二,知道密鑰;三,有大量數(shù)據(jù)供測試。如果把幾種其它算法和MD5混合,破解者就容易困惑,再加上時間限制,破解也不是件容易的事。最后,還有理論上不可能破解的量子密碼,如果它能實(shí)用化,則能達(dá)到真正意義上的不可破解。


          posted on 2010-12-08 18:58 何楊 閱讀(413) 評論(2)  編輯  收藏

          Feedback

          # re: MD5可靠性的相關(guān)知識 2010-12-09 09:12 Jeason Zhao
          我認(rèn)為目前為止,小型應(yīng)用用MD5還是比較合算的,速度快啊  回復(fù)  更多評論
            

          # re: MD5可靠性的相關(guān)知識 2010-12-20 15:23 Ying-er
          勉強(qiáng)になるねー  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 盐边县| 定南县| 临猗县| 新宁县| 独山县| 宜阳县| 铜鼓县| 平安县| 太湖县| 隆安县| 灯塔市| 武宁县| 剑阁县| 黎城县| 百色市| 区。| 阜南县| 新丰县| 荔波县| 柳州市| 都昌县| 文成县| 葫芦岛市| 汾阳市| 土默特左旗| 大姚县| 美姑县| 明光市| 黔南| 从江县| 于都县| 安宁市| 左云县| 南投市| 东平县| 深圳市| 丹巴县| 泽普县| 长垣县| 江津市| 隆化县|