1、MD5算法是對輸入的數據進行補位,使得如果數據位長度LEN對512求余的結果是448。即數據擴展至K512+448位。即K64+56個字節,K為整數。填充方法:在消息后面進行填充,填充第一位為1,其余為0。
2、添加消息長度:用一個64位的數字表示數據的原始長度B,把B用兩個32位數表示。這時,數據就被填補成長度為512位的倍數。
3、數據處理準備需要用到的數據:
把消息分以512位為一分組進行處理,每一個分組進行4輪變換,以上面所說4個常數為起始變量進行計算,重新輸出4個變量,以這4個變量再進行下一分組的運算,如果已經是最后一個分組,則這4個變量為最后的結果,即MD5值。
回答所涉及的環境:聯想天逸510S、Windows 10。
1、MD5算法是對輸入的數據進行補位,使得如果數據位長度LEN對512求余的結果是448。即數據擴展至K512+448位。即K64+56個字節,K為整數。
填充方法:在消息后面進行填充,填充第一位為1,其余為0。
2、添加消息長度:用一個64位的數字表示數據的原始長度B,把B用兩個32位數表示。這時,數據就被填補成長度為512位的倍數。
3、數據處理
準備需要用到的數據:
X) & Z); G(X,Y,Z)=(X & Z) | (Y & (Z)); H(X,Y,Z)=X ^ Y ^ Z; I(X,Y,Z)=Y ^ (X | (~Z));把消息分以512位為一分組進行處理,每一個分組進行4輪變換,以上面所說4個常數為起始變量進行計算,重新輸出4個變量,以這4個變量再進行下一分組的運算,如果已經是最后一個分組,則這4個變量為最后的結果,即MD5值。
回答所涉及的環境:聯想天逸510S、Windows 10。