2015-05-11 40 views
0

作爲一種普通的方法,我總是用來在數據庫中保存密碼的MD5,而有很多網站會將MD5哈希數據解碼爲其原始數據(使用彩虹數據庫)。修改MD5輸出更安全嗎?

我不知道修改MD5函數的輸出(例如省略MD5輸出的最後一個字符以創建新的散列數據)是否更安全?或者MD5背後的邏輯比每個修改版更安全?

回答

0

不,這並沒有做太多好,使你的密碼更安全。它增加了一點「默默無聞的安全性」,但是當我們散列密碼時,我們會準備攻擊者知道散列和算法的情況。

一般來說MD5的問題和推導是,他們可以計算得太快。使用通用硬件,你可以計算出8Giga MD5/s,這使得暴力行爲變得容易。今天的密碼破解工具不僅提供普通的MD5哈希值,還可以計算派生值。 md5(strtoupper(md5($pass)))開箱即用。

爲了安全地存儲密碼,您需要像BCrypt,PBKDF2或SCrypt這樣的慢哈希函數以及一個成本因子。當然,他們應該用每個密碼的獨特鹽來醃製。