2014-01-24 81 views
0

我即將設置我的註冊表單發送包含唯一代碼(非常標準)的激活電子郵件。發送隨機密碼salt作爲激活碼?

我已經在我的數據庫中存儲了每個用戶的隨機生成的鹽,該用戶在註冊時將其應用於其密碼。

我的問題是,是否有任何理由不應該只將該鹽用作激活電子郵件的唯一代碼?這不會爲我節省任何工作,但它可以節省數據庫空間。大多數情況下,我只是很好奇人們如何看待用戶的密碼salt。

+0

好吧,如果你的空間太緊了,你可以從數據庫中刪除激活碼。事實上,如果激活碼甚至存在,您可以使用刪除操作作爲驗證。 – crush

+1

正確醃製和散列的字符串不應該通過泄露鹽而受到損害,但是,使用鹽可能有助於蠻力強制散列。 – SyntaxLAMP

回答

0

這不一定是一個好的解決方案,但由於鹽是獨特的,它不應該是一個巨大的關注。你可以rot13和base64編碼鹽。然後,沒有人會真正知道它是鹽,你可以很容易地扭轉它來查找它。

0

如果用戶是黑客,知道他們自己的鹽會讓他們更容易破解他們自己的帳戶,但是如果每個人的鹽都不同,那麼沒有理由不這樣做,如果它更容易。瞭解你自己的鹽只會幫助你作爲黑客破解你自己的賬戶。總之,沒有真正的理由。

0

最好使用單獨的安全生成的值。

由於提到@SyntaxLAMP,使用鹽作爲激活碼是information leakage的一種形式。如果有人被充分放置以檢索通過明確電子郵件發送的所有註冊用戶的鹽,這也可以打開MITM attack的大門。