一個密碼經(jīng)過多次MD5加密能否提高安全性?
網(wǎng)友解答: 必須肯定,絕對可以提高安全性先來講個小故事提到md5,這讓我想到了前段時間全國2600多只隊伍、一萬多人參加的網(wǎng)絡安全比賽(各方大佬開心虐菜)。有一道賽題就是關于md5的we
必須肯定,絕對可以提高安全性
先來講個小故事提到md5,這讓我想到了前段時間全國2600多只隊伍、一萬多人參加的網(wǎng)絡安全比賽(各方大佬開心虐菜)。有一道賽題就是關于md5的web題,那道題一共三關,每一關都考驗了md5值相等或者相同,最后一關是md5全等,聽說需要md5碰撞產(chǎn)生兩個相同的數(shù)值,而如果你想從一個md5值恢復到原來的值是非常困難的。
MD5加密是什么?MD5加密使用的是hash算法,一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個128位(16字節(jié))的散列值(hash value),也就是一共有2^128種可能,大概是3.4*10^38,這個數(shù)字是有限多個的,而但是世界上可以被用來加密的原文則會有無數(shù)的可能性。
2009年,中國科學院的謝濤和馮登國僅用了220.96的碰撞算法復雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上運行只需要數(shù)秒鐘。我使用過md5碰撞生成器,可以生成兩個md5值相同但是內(nèi)容不同的文件。
md5解密網(wǎng)站的原理相信你在網(wǎng)上可以找到很多破解md5的網(wǎng)站,為什么能破解呢?是因為這些站點中存儲了md5加密數(shù)據(jù),通過查找數(shù)據(jù)庫中對應的md5密文找到相對應的加密數(shù)據(jù)。
多次MD5加密目前幾乎所有常用的密碼的一次md5、二次md5甚至3次md5的結果都被計算出來存到一個彩虹表里。當然你加密的次數(shù)越多肯定會越安全,不過呢最好的辦法是在每一次md5加密之后你在密文后再加點數(shù)據(jù),然后再進行md5加密,這樣就不會被破解了。
我是萌新程序猿,科技圈的事情歡迎邀請我來回答!
碼了這么多字,點個贊關注下再走吧!?。?/p>
關注萌新程序猿(本人咯),了解更多IT以及程序猿的知識!!
網(wǎng)友解答:MD5(Message Digest Algorithm 5,信息摘要算法5),是計算機廣泛使用的摘要算法(又稱哈希算法)之一。MD5是將一段信息,通過其不可逆的字符串變換算法,產(chǎn)生了唯一的MD5信息摘要(16位或32位固定長度的字符串)。即同一明文一定生成固定的密文。
為了防止用戶登錄密碼泄露,數(shù)據(jù)庫存儲的密碼不能是明文,即使數(shù)據(jù)庫泄露了密碼也不能直接泄露。通常的做法是將用戶設置的登錄密碼進行MD5運算/加密后存入數(shù)據(jù)庫。
當用戶登錄時,對用戶輸入的密碼進行MD5運算,運算結果與數(shù)據(jù)庫中的值進行比對,如果MD5密文一樣,則認為用戶登錄密碼正確,反之則認為密碼錯誤。
一個MD5密文理論上可能對應多個原文,通過遍歷法可以暴力破解密碼,但這是計算時間、計算資源的巨大消耗。
那么多次MD5加密能否提高密碼的安全性呢?理論上肯定是安全一些,對暴力破解密碼能起到一定的作用吧,畢竟盲破解是不管進行了幾次MD加密的。