亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

bcrypt怎么會有內置的鹽類呢?

bcrypt怎么會有內置的鹽類呢?

慕尼黑5688855 2019-07-09 16:27:13
bcrypt怎么會有內置的鹽類呢?尾黑爾文章“如何安全地存儲密碼”聲稱:bcrypt有內置的鹽類以防止彩虹桌的攻擊。他引用本文,在OpenBSD的實現中bcrypt:OpenBSD生成128位的bcrypt鹽分,它是從一個弧四(arc4隨機(3)密鑰流中生成的,該密鑰流帶有內核從設備時間收集的隨機數據。我不明白這是怎么回事。在我對鹽的概念中:對于每個存儲的密碼,它需要不同,以便為每個密碼生成一個單獨的彩虹表。它需要存儲在某個地方,以便可以重復:當用戶嘗試登錄時,我們會嘗試他們的密碼,重復我們最初存儲他們密碼時所做的鹽類和散列過程,并進行比較。當我用bcrypt使用Design(Rails登錄管理器)時,數據庫中沒有鹽列,所以我很困惑。如果鹽是隨機的,沒有存儲在任何地方,我們如何可靠地重復哈希過程?總之,bcrypt怎么會有內置的鹽類??
查看完整描述

3 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

這是地窖:

產生隨機鹽?!俺杀尽币蛩匾呀涱A先配置好了。收集密碼。

使用SALT和成本因子從密碼中派生加密密鑰。用它加密一個著名的字符串。商店代價,鹽,以及密碼文本。因為這三個元素有一個已知的長度,所以很容易將它們連接起來并存儲在一個字段中,但是稍后能夠將它們分開。

當有人試圖驗證時,檢索存儲的成本和鹽。從輸入密碼、成本和鹽分中派生密鑰。加密同樣著名的字符串。如果生成的密碼文本與存儲的密碼文本匹配,則密碼是匹配的。

bcrypt的工作方式與基于PBKDF 2等算法的傳統方案非常相似。主要區別在于它使用派生密鑰加密已知的純文本;其他方案(合理地)假定密鑰派生函數是不可逆的,并直接存儲派生密鑰。


存儲在數據庫中的bcrypt“散列”可能如下所示:

$2a$10$vI8aWBnW3fID.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa

這實際上是由“$”分隔的三個字段:

  • 2a

    標識

    bcrypt

    使用的算法版本。
  • 10

    是成本因素;2

    10

    使用關鍵字派生函數的迭代(順便說一句,這還不夠。我推薦的費用是12英鎊或更多。)
  • vI8aWBnW3fID.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa

    是SALT和密碼文本,在修改的Bas-64中進行連接和編碼。前22個字符解碼為鹽的16字節值。剩下的字符是要比較的密碼文本,以便進行身份驗證。

此示例取自Coda Hale的紅寶石實現文檔。


查看完整回答
反對 回復 2019-07-09
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

我認為這句話的措辭應該如下:

bcrypt有鹽內置于生成的散列中。來防止彩虹桌的襲擊。

這個bcrypt公用設施本身似乎不維護鹽類清單。相反,鹽是隨機產生的,并附加到函數的輸出中,以便以后記住它們(根據的Java實現bcrypt)。換句話說,由bcrypt不是只是哈希。相反,它是哈希鹽連在一起了。


查看完整回答
反對 回復 2019-07-09
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

這是來自SpringSecurity的PasswordEncoder接口文檔,

 * @param rawPassword the raw password to encode and match
 * @param encodedPassword the encoded password from storage to compare with
 * @return true if the raw password, after encoding, matches the encoded password from
 * storage
 */
boolean matches(CharSequence rawPassword, String encodedPassword);

這意味著,用戶將在下一次登錄時再次輸入rawPassword,并將其與bcrypt編碼的密碼匹配,該密碼存儲在以前的登錄/注冊過程中存儲在數據庫中。


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關注
  • 1138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號