2010-08-18 19 views
3

我目前正在構建一對ASP.NET MVC 2站點,並且想知道我的選項是用來提供密碼的。通過我的PHP工作,我通常只是獲得用戶註冊時間的時間戳,然後將其附加到密碼字符串的末尾,然後再使用SHA1對整個事物進行散列。我的直覺是這種做法可能不夠。提供密碼 - 是否有比使用時間戳更好的選項?

我對ASP.NET用戶管理很新穎,所以我認爲從一開始就開始使用最佳實踐是我最大的興趣。我知道ASP.NET Web表單有內置的用戶管理,但我不確定MVC。

回答

4

SALT唯一的一點是防止彩虹攻擊,其中多個用戶密碼相同,因此成功反轉一個密碼意味着您也知道這是其他人使用相同散列的密碼。即使是單數數字的salt也會阻止這種情況發生,因爲具有相同密碼的兩個用戶如果使用不同的salt,它們將具有不同的哈希值。

只要鹽不會改變,對每個用戶來說都不一樣,任何價值都會很好。如果您不更新該字段(這會使其密碼哈希無效並阻止其登錄),那麼它們的註冊時間戳是不錯的選擇。

+1

感謝您的解釋。當涉及到這樣的事情時,我總是懷疑自己,所以很高興知道我在正確的軌道上。 – 2010-08-18 20:50:23

相關問題