當柳上原的風(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é)王小云教授攻破了。他是怎么做到這不可能的事呢?當然不是反推,而是使用的碰撞算法,具體來說就是,拿到25f9e794323b453885f5181f1b624d0這樣的結(jié)果,用多種精心設(shè)計的字符串去試試,總有一個字符串經(jīng)MD5加密后能得到25f9e794323b453885f5181f1b624d0這樣的結(jié)果,這個字符串也許是真實密碼,也是是別的,但它加密后可以得到和123456789加密后一樣的效果。這就意味著,你給自己設(shè)定的密碼,別人通過其他密碼也可能通過驗證!
          其原因還是在于散列函數(shù),不同的輸入通過散列函數(shù)可能得到同一結(jié)果,雖然這個可能性較小。王教授成果的意義在于,以前號稱用全世界所有計算機算一百年不能做到的,用他的辦法用一臺普通微機在數(shù)個小時內(nèi)就能做到。這個很了不起,諸位如果有意可以去當他的研究生,這樣就知道是怎么做的了。
          那么,MD5還有存在的價值嗎。當然有,因為破解者要破解成功有三個必要條件,一,知道算法;二,知道密鑰;三,有大量數(shù)據(jù)供測試。如果把幾種其它算法和MD5混合,破解者就容易困惑,再加上時間限制,破解也不是件容易的事。最后,還有理論上不可能破解的量子密碼,如果它能實用化,則能達到真正意義上的不可破解。


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

          Feedback

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

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 潢川县| 平度市| 丘北县| 临西县| 大埔县| 高要市| 漠河县| 青海省| 灵川县| 定陶县| 伊宁县| 屯留县| 石泉县| 泗洪县| 兖州市| 昭通市| 香格里拉县| 建阳市| 揭东县| 格尔木市| 龙岩市| 普兰店市| 台安县| 霸州市| 滦南县| 麻江县| 惠州市| 霍山县| 昌黎县| 周至县| 太湖县| 永年县| 高州市| 邯郸市| 桂林市| 开原市| 宣汉县| 泾源县| 浮山县| 崇义县| 禹州市|