2016-09-14 85 views
1

如果我在將密碼存儲在我的數據庫之前對密碼進行哈希處理,是否足以阻止它們被某人恢復?如何在將密碼存儲在我的數據庫之前安全地對密碼進行哈希處理?

我只是直接談論數據庫恢復,而不是任何其他類型的攻擊,例如應用程序登錄頁面中的蠻力,客戶端上的鍵盤記錄和橡膠密碼分析。任何形式的哈希都不會阻止這些攻擊。

我很擔心,如果BD承諾,很難或甚至不可能獲得原始密碼。如何增加這方面的安全保證?

還有哪些擔憂會阻止訪問密碼?有沒有更好的方法來做這個散列?

+2

取決於你的散列。如果您使用谷歌解碼器環,那麼您的安全性至關重要。如果您使用現代的密碼安全散列,那麼您直到基礎散列函數被證明是數學上易受攻擊的,或者計算機足夠強大,以至於他們能夠在有效時間內擊穿整個密鑰空間爲止。 –

+2

我投票結束這個問題,因爲這是一個跨站點的[如何安全地哈希密碼?](http://security.stackexchange.com/q/211/45523) –

+0

什麼做你的意思是,如果BD是Commit_,數據庫?你可以做的是加密散列,所以攻擊者無法在沒有密鑰的情況下開始暴力破解。在這種情況下,攻擊者也需要在服務器上擁有特權,才能獲得密鑰,而不僅僅是讀取數據庫。試圖在我的[tutorial](http://www.martinstoeckli.ch/hash/en/index.php)結尾處解釋這個問題,以便安全地存儲密碼。 – martinstoeckli

回答

2

請使用PBKDF2 10000次迭代。現在NIST也建議這樣做(雖然不是用於密碼散列,但它也非常適合)。

PBKDF2以及需要相對較強密碼的密碼策略會使攻擊者很難恢復密碼,即使有哈希也是如此。