MD5 是不是可以這樣破解?
12-27
MD5一般用於密碼吧 那麼密碼 一般都是26個大寫字母 26個小寫字母 數字10個 特殊符號10個 在加上_
26*2+10*2+1=73個符號.
而且 一般情況來說位數限制,6-14位
所以73個符號 組成位數為6-16的數量一定可以算出來吧.?
放到一個數組裡 for循環..
如果有一個"很快"的計算機 是不是一下就出來了?
可問題就是特么的這個計算機不夠快……
深感計算機 / 密碼學前輩被羞辱的趕腳,您問之前能手算一下嗎?
密碼組合的可能性:
目前最快的計算機的運算能力是:17.59 peta FLOPS (Titan )
就算按 1 個運算周期可以算測試完一個密碼(實際上絕逼不可能)
這個速度處理 6 位密碼,平均需要:0.00015133422629 秒
16 位的話需要
65,000,000,000,000 秒
= 1.08e12 分
= 18e9 小時
= 752e6 天
= 2e6 年……
哦對不起我忘了乘以 17.59。不過我覺得差一個數量級無所謂吧?
請自行Google彩虹表。
對於較短的字元串的MD5確實可以這樣攻擊。問題是你光是算出來這個彩虹表就要好些年,還不說去查詢這個彩虹表~
是的,這可以說是攻擊MD5的主要方法,在大約五年前甚至是唯一的方法。
這種攻擊手段一般被稱為字典攻擊。不需要快速計算,主要以存儲空間取勝。
其實MD5不是設計來加密密碼的.
現有的MD5破解很簡單啊,把常見密碼的MD5放到資料庫里與明文對應.直接就能找到.
MD5用來驗證數據是否被更改是最有效的.
MD5是一個安全的散列演算法,有兩個特點:
1、輸入兩個不同的明文(一段原始的數字信息)不會得到相同的輸出值
2、根據輸出值,不能得到原始的明文,即過程不可逆
所以要解密MD5沒有現成的演算法,只能用窮舉法,把可能出現的明文,用MD5演算法散列之後,把得到的散列值和原始的數據形成一個一對一的映射表,然後在所謂的解密的時候,都是通過這個映射表來查找其所對應的原始明文。
而絕對沒有一種演算法,可以通過輸出加密後的散列值算出原始明文。
哈哈,不放數組裡邊,你自己來遞增運算能夠「更快」,免去索引
可以 比如cmd5.la這個就是
現在都顯卡破解,比較快,還有FPGA
推薦閱讀:
※密碼安全問題有多雞肋?
※哪位大神能破解這廣告上的密碼?
※古代是怎麼做到讓傳遞的信息保密的呢?
※為什麼銀行還在使用六位數字取款密碼?
※丹布朗《數字城堡》中的「旋轉明碼電文」能實現嗎?