2017-10-11 231 views
4

我正在嘗試爲我正在製作的一個節點應用程序配置Bcrypt,並且有幾個關於鹽的問題,我希望這裏的某些人可以幫助您好好回答。什麼是Salt Rounds以及Salt如何存儲在Bcrypt中?

  • 什麼是鹽'圓'?例如,在github文檔(https://github.com/kelektiv/node.bcrypt.js/)中,它使用了10的鹽輪。那是什麼意思?

  • Bcrypt生成的鹽總是一樣嗎?例如,如果我將用戶的散列密碼保存到數據庫中,那麼每次密碼時用於散列密碼的密碼是否相同?

  • 鹽是如何儲存的?它是否可以抵禦潛在的攻擊?

回答

1
  1. 隨着 「鹽一輪」 他們實際上指的是成本因素。成本因子控制需要多少時間來計算單個BCrypt哈希。成本因素越高,哈希輪次就越多。將成本因素增加1倍必要的時間。需要的時間越多,暴力就越困難。
  2. 鹽是一個隨機值,每次計算都會有所不同,所以即使對於相同的密碼,結果也幾乎不會相同。
  3. 鹽通常以可讀形式包含在生成的哈希串中。因此,存儲哈希串也可以存儲鹽。有關更多詳細信息,請參閱answer
相關問題