一、MD5概述
MD5:英文全稱是 Message-Digest Algorithm 5。
中文名為 消息摘要算法第五版。它是消息摘要算法,屬于 Hash 算法的一種。
正常情況下,它的結(jié)果是一個 長度為 32位 的 16進制 的 字符串。
也有一些地方會用到 16 位的 MD5的結(jié)果,它實際上是從 32位 字符串中取中間的第9位到第24位的部分,即長度是 16位。
二、MD5的主要特點
- 不可逆,相同的數(shù)據(jù)的MD5值肯定一樣,不同數(shù)據(jù)的MD5值不一樣(理論上可能會有相同的,這個是學習的越深就越清楚)。
一個MD5理論上的確是可能對應(yīng)無數(shù)多個原文的,因為MD5是有限多個的而原文是可以有無數(shù)多個的。比如主流使用的MD5將任意長度的字符串映射為一個128bit(16 * 8)的大整數(shù)。也就是一共有 2的128次方種可能,大概是 3.14*10的38次方,這個數(shù)字是有限的,但是世界上可以被用來加密的原文則有無數(shù)的可能性
三、MD5的性質(zhì)
- 壓縮性:任意長度的數(shù)據(jù),算出的MD5值長度都是固定的(相當于超損壓縮)。
- 抗修改性:對原數(shù)據(jù)進行任何改動,哪怕是只修改1個字節(jié),所得到的MD5值都會天差地別。
- 容易計算:從原數(shù)據(jù)計算出MD5值很容易就可以計算出來。
- 弱抗碰撞:已知原數(shù)據(jù)和其MD5值,想找到一個具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常困難的。注意這里是非常困難,并不是一定找不到。
- 強抗碰撞性,想找到兩個不同的數(shù)據(jù),使它們具有相同的MD5值,是非常困難的。注意這里是非常困難,并不是一定找不到。
四、MD5破解
MD5有不可逆的特點,但是不可逆,并是代表不能破解。
某些MD5破解網(wǎng)站,專門用來查詢MD5碼,原理是它通過把常用的密碼先進行MD5處理,然后將數(shù)據(jù)存儲起來,然后再跟需要查詢的MD5結(jié)果匹配,這時就有可能通過匹配的MD5值得到明文數(shù)據(jù),所以有些簡單的MD5碼是可能反查到加密前的明文的。
五、MD5防破解
- 多重加密
所謂多重加密,其實 就是把要加密的原文加密成MD5密文,然后再一次將MD5密文加密成MD5密文,多試幾次,一般3次以上,上線破解的網(wǎng)站就匹配不上了。記?。浩ヅ洳簧?,不一定就是足夠安全哦,只是不容易被輕易破解了(因為第二次要破解的原文是一個32位的16進制的字符串,以此類推),增加了破解的時間成本而已。
- 加鹽加密
比如在Java語言中的 Md5Crypt.apr1Crypt(“要加密的密文”, “自定義鹽值”), 可以多重使用,自行定義哈。
六、MD5的用途
這個一定要知道哈。
- 密碼存儲
處于安全考慮,所有的原生密碼不能直接存儲到數(shù)據(jù)庫中,以防數(shù)據(jù)泄露導致許多問題出現(xiàn),因此,會將明文密碼經(jīng)過MD5加密后存儲到數(shù)據(jù)庫中。
- 一致性校驗
下載文件的校驗碼,比如雙方約定的字符串或者文件,發(fā)送方可提供文件的同時,也提供MD5結(jié)果,用于接收方接收后對文件重新 MD5得出結(jié)果做對比,就知道文件是否下載完整,或者傳輸過程中有無被篡改等。文章來源:http://www.zghlxwxcb.cn/news/detail-476416.html
本文完結(jié)!文章來源地址http://www.zghlxwxcb.cn/news/detail-476416.html
到了這里,關(guān)于【MD5】什么是MD5?md5的簡要描述的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!