tft每日頭條

 > 生活

 > md5算法是固定的嗎

md5算法是固定的嗎

生活 更新时间:2025-01-21 00:47:45

md5算法是固定的嗎?MD5(單向散列算法 單向散列算法))的全稱是 Message-Digest Algorithm 5 (信息-摘要算法),經 MD2、MD3和 MD4發展而來 MD5算法的使用不需要支付任何版權費用,我來為大家講解一下關于md5算法是固定的嗎?跟着小編一起來看一看吧!

md5算法是固定的嗎(MD5算法簡介)1

md5算法是固定的嗎

MD5(單向散列算法 單向散列算法))的全稱是 Message-Digest Algorithm 5 (信息-摘要算法),經 MD2、MD3和 MD4發展而來。 MD5算法的使用不需要支付任何版權費用。

MD5功能功能::

輸入任意長度的信息,經過處理,輸出為 128位的信息(數字指紋);

不同的輸入得到的不同的結果(唯一性);

根據 128位的輸出結果不可能反推出輸入的信息(不可逆);

MD5屬不屬于加密算法 屬不屬于加密算法::

認為不屬于的人是因為他們覺得不能從密文(散列值)反過來得到原文,即沒有解密算

法,所以這部分人認為 MD5隻能屬于算法,不能稱為加密算法;

認為屬于的人是因為他們覺得經過 MD5處理後看不到原文, 即已經将原文加密, 所以認

為 MD5屬于加密算法;我個人支持後者

MD5用途用途::

1、防止被篡改 防止被篡改 防止被篡改:

1)比如發送一個電子文檔,發送前,我先得到 MD5的輸出結果 a。然後在對方收到電

子文檔後,對方也得到一個 MD5的輸出結果 b。如果 a與 b一樣就代表中途未被篡改。 2)

比如我提供文件下載, 為了防止不法分子在安裝程序中添加木馬, 我可以在網站上公布由安

裝文件得到的 MD5輸出結果。 3)SVN在檢測文件是否在 CheckOut 後被修改過,也是用

到了 MD5.

2、防止直接看到明文 防止直接看到明文 防止直接看到明文:

現在很多網站在數據庫存儲用戶的密碼的時候都是存儲用戶密碼的 MD5值。這樣就算不

法分子得到數據庫的用戶密碼的 MD5值,也無法知道用戶的密碼 (其實這樣是不安全的, 後

面我會提到 )。(比如在 UNIX系統中用戶的密碼就是以 MD5(或其它類似的算法)經加密

後存儲在文件系統中。當用戶登錄的時候,系統把用戶輸入的密碼計算成 MD5值,然後再

去和保存在文件系統中的 MD5值進行比較,進而确定輸入的密碼是否正确。通過這樣的步

驟,系統在并不知道用戶密碼的明碼的情況下就可以确定用戶登錄系統的合法性。 這不但可

以避免用戶的密碼被具有系統管理員權限的用戶知道, 而且還在

一定程度上增加了密碼被破解的難度。)

3、防止抵賴 防止抵賴 防止抵賴((數字簽名 數字簽名):):

這需要一個第三方認證機構。例如 A寫了一個文件,認證機構對此文件用 MD5算法産

生摘要信息并做好記錄。若以後 A說這文件不是他寫的,權威機構隻需對此文件重新産生摘要信息,然後跟記錄在冊的摘要信息進行比對,相同的話,就證明是 A寫的了。這就是所謂的“數字簽名"。

MD5算法過程 算法過程::

對 MD5算法簡要的叙述可以為: MD5以 512位分組來處理輸入的信息,且每一分組又

被劃分為 16個 32位子分組,經過了一系列的處理後,算法的輸出由四個 32位分組組成,将這四個 32位分組級聯後将生成一個 128位散列值。

第一步、填充:如果輸入信息的長度 (bit) 對 512求餘的結果不等于 448,就需要填充使

得對 512求餘的結果等于 448。填充的方法是填充一個 1和 n個 0。填充完後,信息的長度

就為 N*512 448(bit) ;

第二步、記錄信息長度:用 64位來存儲填充前信息長度。這 64位加在第一步結果的後面,這樣信息長度就變為 N*512 448 64=(N 1)*512 位。

第三步、裝入标準的幻數(四個整數):标準的幻數(物理順序)是( A=(01234567) 16,B=(89ABCDEF) 16,C=(FEDCBA98) 16,D=(76543210) 16)。如果在程序中定義應該是(A=0X67452301L ,B=0XEFCDAB89L ,C=0X98BADCFEL ,D=0X10325476L )。有點暈哈,其實想一想就明白了。

第四步、四輪循環運算:循環的次數是分組的個數( N 1)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved