2014-10-10 50 views
-1

我應該使用一個祕密字符串作爲散列的鹽嗎?還是讓每個用戶都有自己的散列用鹽?將哈希(username_str + password_str)等密碼散列化時,將用戶的用戶名用作salt是個好主意嗎?

考慮這三個哈希:

hash("secretKey777" + password); 
hash("secretKey777" + username + password); 
hash(username + password); 

哪一個是最難破解和最安全的?我認爲最好使用hash("secretKey777" + username + password);,因爲每個用戶不僅有「secretKey777」作爲鹽,而且還有自己的用戶名。在密碼密碼泄露的情況下,不會立即攻擊所有的哈希 - 每個哈希都會有自己獨特的salt。

+1

這很可能是在[security.se] – 2014-10-10 21:22:09

+0

@MikeW由於更適合,我只是問它在那裏。這裏是鏈接:http://security.stackexchange.com/questions/69421/is-it-a-good-idea-to-use-the-users-username-as-a-salt-when-hashing-a-密碼-1 – bodacydo 2014-10-10 22:05:01

回答

-1

在我的理解,鹽必須是:

一)獨特爲每個用戶(否則,泄漏鹽將允許建立一個rainbow table爲您的特定鹽解密密碼),所以hash("secretKey777" + password)不是一個選項我。 b)加密隨機(我沒有這個參數,這只是一種感覺,這有助於)。

我寧願

hash("secretKey777" + cryptographically_random_salt_string + password); 
相關問題