md5訊息摘要演算法,屬於hash演算法。md5演算法對輸入任意長度的訊息進行執行,產生乙個128位的訊息摘要(32位的數字字母混合碼)
不可逆相同的資料md5值一樣
壓縮性:任意長度的資料,算出的md5值長度都是固定的
容易計算:從原資料計算出md5值很容易
抗修改性:對原資料進行任何改動,哪怕只修改乙個位元組,所得到的md5值都有很大區別
弱抗碰撞:已知原資料和其md5值,想找乙個相同md5值得資料非常困難
強抗碰撞:想找到兩個不同的資料具有相同的md5值非常困難
對訊息進行資料填充,使訊息的長度對512取模得448,設訊息長度為x,即滿足x mod 512=448。根據此公式得出需要填充的資料長度。
填充方法:在訊息後面進行填充,填充第一位為1,其餘為0。
(此時訊息長度為n*512+448)
在第一步結果之後再填充上原訊息的長度,可用來進行的儲存長度為64位。如果訊息長度大於2的64次方,則只使用其低64位的值。
在此步驟進行完畢後,最終訊息長度就是512的整數倍。
(此時訊息長度為(n+1)*512 )
把訊息以512位為一分組進行處理,每乙個分組進行4輪變換,以上面所說4個常數為起始變數進行計算,重新輸出4個變數,以這4個變數再進行下一分組的運算,如果已經是最後乙個分組,則這4個變數為最後的結果,即md5值。
具體運算參考:
加密方法 MD5加密
一.md5加密演算法 1.1 md5演算法的定義 md5是雜湊雜湊演算法,對於md5而言,有兩個特性是很重要的,第一 明文資料經過雜湊以後的值是定長的 第二 是任意一段明文資料,經過雜湊以後,其結果必須永遠是不變的。前者的意思是可能存在有兩段明文雜湊以後得到相同的結果。md5是雜湊雜湊演算法,對於m...
檔案md5加密
計算檔案的 md5 值 要計算 md5 值的檔名和路徑 md5 值16進製制字串 public static string md5file string filename 計算檔案的雜湊值 要計算雜湊值的檔名和路徑 演算法 sha1,md5 雜湊值16進製制字串 public static stri...
MD5 密碼加密
asp.net中md5加密碼的方法 page language c contenttype text html import namespace system asp.net中實現對密碼的加密 方法一 public static string encrypt string password,int ...