Hash

在散列函式之間進行選擇,而不是為密碼散列提供鹽

  • March 12, 2020

我正在開發一些要求使用者將密碼儲存在我的數據庫中的程序。

但是,由於我的方法,我不確定是否應該將鹽儲存在數據庫中:

(1. 我可以在 ASCII 表的幫助下創建一個隨機字元串)

(2。我能夠創建一個唯一的 ID,如在 Google Firebase 下類似於使用者的 UUID 的隨機字元串)

這是我的方法,使用者需要輸入“Security_String”。

允許的格式僅使用從 1 到 5 的數字。

1代表SHA-1

2代表SHA-224

3代表SHA-256

4代表SHA-384

5代表SHA-512

從使用者那裡收集Security_StringPassword之後, Password會根據Security_String進行一系列散列循環

在這種情況下,生成的散列密碼會被認為足夠安全嗎?還是使用我的方法用鹽生成雜湊密碼更好?

另外,如果我在雜湊過程中添加另一種稱為胡椒的辛辣成分會更好嗎?

通常,您不想在密碼學中切換算法。您必須處理不同的工作負載。此外,算法的選擇將只是另一種鹽,如果很小的話。但是,您的方法不允許建構 5 個單獨的彩虹表。所以鹽的原因沒有得到滿足。

目前尚不清楚為什麼您不能使用通用的基於密碼的密鑰派生函式 (PBKDF)/密碼雜湊。所以是的,使用一個眾所周知的好方案和 aa salt 確實更安全。

辣椒當然會有所幫助。如果數據庫被盜而不是胡椒,那麼對手幾乎不可能在沒有胡椒的情況下開始猜測密碼。當然胡椒不應該保存在數據庫中,因為這會否定整個想法。

引用自:https://crypto.stackexchange.com/questions/78159