古詩詞大全網 - 個性簽名 - asp中用md5算法得到的加密數據如何解密!麻煩寫個簡單的代碼演示下!

asp中用md5算法得到的加密數據如何解密!麻煩寫個簡單的代碼演示下!

MD5 是破壞性加密,也就是說是無法由密文直接解密的。

詳細說明如下:

MD5是輸入不定長度訊息,輸出固定長度128-bits的演算法。經過程式流程,生成四個32位元資料,最後聯合起來成為壹個128-bits雜湊。基本方式為,求余、取余、調整長度、與連結變數進行回圈運算。得出結果。壹般128位元的MD5雜湊被表示為32位元十六進制數位。以下是壹個43位長ASCII字母列的MD5雜湊:

MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6

即使在原文中作壹個小變化(比如用c取代d)其雜湊也會發生巨大的變化:

MD5("The quick brown fox jumps over the lazy cog") = 1055d3e698d289f2af8663725127bd4b

而空文的雜湊為:

MD5("") = d41d8cd98f00b204e9800998ecf8427e

MD5的弱點:

MD5較老,雜湊長度通常為128位元,隨著電腦運算能力提高,找到「碰撞」是可能的。因此,在安全要求高的場合不使用MD5。

2004年,王小雲證明MD5數位簽名演算法可以產生碰撞。

2007年,Marc Stevens,Arjen K. Lenstra和Benne de Weger進壹步指出透過偽造軟體簽名,可重復性攻擊MD5演算法。研究者使用字首碰撞法(chosen-prefix collision),使程式前端包含惡意程式,利用後面的空間添上垃圾代碼湊出同樣的MD5 Hash值。

2007年,荷蘭埃因霍芬技術大學科學家成功把2個執行檔進行了MD5碰撞,使得這兩個執行結果不同的程式被計算出同壹個MD5。

2008年12月壹組科研人員透過MD5碰撞成功生成了偽造的SSL證書,這使得在https協議中伺服器可以偽造壹些根CA的簽名。