當前位置:編程學習大全網 - 編程軟體 - asp中md5算法得到的加密數據如何解密!請寫壹個簡單的代碼演示!

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

MD5是破壞性加密,也就是說不能直接用密文解密。

詳情如下:

MD5是壹種算法,用於輸入不確定長度的消息,並輸出128位的固定長度。通過程序流,生成四個32位數據,最後組合成壹個128位的hash。基本方法是:求余數,取余數,調整長度,用鏈接變量進行循環運算。得到結果。通常,128位的MD5哈希表示為32位十六進制數字。以下是壹個43位長的ASCII字母列的MD5哈希:

MD5("快速的棕色狐貍跳過懶狗")= 9e 107 d9d 372 bb 6826 BD 81d 3542 a 419d 6

即使對原文做了很小的改動(比如用c代替d),哈希也會有很大的變化:

MD5("快速的棕色狐貍跳過懶惰的齒輪")= 1055 d3e 698d 289 F2 af 8663725127 bd4b

空文本的哈希是:

MD5(" " = d 41 D8 CD 98 f 00 b 204 e 9800998 ECF 8427 e

MD5的弱點:

MD5比較老,哈希長度通常是128位。隨著計算機計算能力的提高,找到“碰撞”是可能的。所以在安全性要求高的場合不使用MD5。

2004年,王小雲證明了MD5數字簽名算法可以產生沖突。

2007年,馬克·斯蒂文斯、阿爾金·k·倫斯特拉和本尼·德·韋格進壹步指出,MD5算法可以通過偽造軟件簽名被反復攻擊。研究人員使用choosed-prefix碰撞方法,使程序前端包含惡意程序,在後面的空間添加垃圾代碼,組成相同的MD5哈希值。

2007年,荷蘭英霍芬理工大學的科學家用MD5成功碰撞了兩個執行文件,使得這兩個執行結果不同的程序計算出相同的MD5。

2008年6月5438+2月,壹組研究人員通過MD5碰撞成功生成偽造的SSL證書,使得服務器能夠偽造https協議中某個根CA的簽名。

  • 上一篇:標致308燈光使用圖解,標致308燈光怎麽調節
  • 下一篇:C#項目中怎樣創建和使用類和類庫
  • copyright 2024編程學習大全網