偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么應該放棄或減少使用MD5

企業(yè)動態(tài)
MD5是一種常用的單向哈希算法。它被廣泛用于以下幾個用途,希望對大家有所幫助。

 1.檢查數(shù)據是否一致。將兩地存儲的數(shù)據進行哈希,比較結果,如果結果一致就無需再進行數(shù)據比對。這是利用了其“抵抗沖突”(collision- resistant)的能力,兩個不同的數(shù)據,其哈希值只有很小的幾率一致。相當多數(shù)據服務,尤其是網盤服務,利用類似的做法來檢測重復數(shù)據,避免重復上傳。

2.存儲用戶密碼。將密碼哈希后的結果存儲在數(shù)據庫中,以做密碼匹配。這是利用了其做為單向哈希的特點,從計算后的哈希值不能得到密碼。

3.校驗數(shù)據正確性。將數(shù)據和數(shù)據哈希后的結果一并傳輸,用于檢驗傳輸過程中數(shù)據是否有損壞。這是利用了很難找到兩個不同的數(shù)據,其哈希結果一致的特點。

下面我們將說明為什么對于上面三種用途, MD5都不適用。

第一個用途尤其可怕。這個用途的最大的問題是,MD5在現(xiàn)實中已經被發(fā)現(xiàn)有相當多的數(shù)據都可能導致沖突。舉例而言,如下兩段數(shù)據的MD5哈希值就是完全一樣的。

                   數(shù)據 1  

    4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
    d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
    af bf a2[00]a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
    93 d8 49 67 6d a0 d1 55 5d 83 60 fb 5f 07 fe a2

                   數(shù)據 2

    4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
    d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
    af bf a2[02]a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
    93 d8 49 67 6d a0 d1 d5 5d 83 60 fb 5f 07 fe a2

                 MD5 哈希

           008ee33a9d58b51cfeb425b0959121c9

這意味著,如果用戶提供數(shù)據 1,服務器已經存儲數(shù)據 2。通過簡單的MD5哈希方式檢查重復,服務器上為用戶保存的數(shù)據就是2。 接下來發(fā)生的事情大家都知道了,就是用戶數(shù)據丟了!

第二個用途很容易遭到rainbow table攻擊,和明文存儲密碼的實質區(qū)別不大。更詳細的分析可以察看這篇文章。

第三個用途里一般會在需要哈希的數(shù)據中混入某些秘密,也就是計算公式為md5(secret key + data)。 但這樣并不適合用于驗證數(shù)據的完整性。這是因為,從理論上上來說,如果知道m(xù)d5(secret key +X),即使不知道secret key的內容, 仍然可能通過對X的分析,計算得到md5(secret key +Y),從而將X成功的替換成Y,導致接收方仍然認為數(shù)據是正確的。

堅果云博客:http://blog.jianguoyun.com/

責任編輯:彭凡 來源: admin
相關推薦

2016-12-15 09:26:53

MD5加密

2011-06-08 10:30:08

MongoDB

2022-10-18 22:21:51

2009-06-06 18:57:47

MD5加密類Java Bean

2020-10-15 08:20:52

MD5算法加密的過程

2015-03-23 11:21:08

2018-06-08 15:27:59

云計算企業(yè)存儲

2022-05-16 09:27:37

UbuntuUbuntu LTS

2010-01-06 09:54:30

.NET Framew

2021-12-06 18:16:14

SQLCRCMD5

2020-02-25 16:30:36

MD5是不是加密

2009-06-30 10:05:24

MD5加密JSP源碼

2009-04-23 10:41:59

微軟IE瀏覽器

2024-06-24 07:58:00

2023-07-23 17:19:34

人工智能系統(tǒng)

2020-06-05 14:09:42

Kubernetes容器應用程序

2022-10-19 07:35:28

2020-03-03 15:31:47

ReactVue前端

2020-06-19 08:01:48

Kotlin 協(xié)程編程

2022-01-23 13:51:30

Arch LinuxLinux
點贊
收藏

51CTO技術棧公眾號