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