嗨,大家好,我已經閱讀過關於密碼醃製的內容,但這聽起來有點奇怪。但是,我如何儲存和保護鹽。例如,在多輪胎架構中,我使用客戶端機器的GUID生成我的鹽,然後用戶被限制在一臺機器上,但如果我使用隨機鹽,它必須存儲在某個地方。幾天前,我看到一個示例應用程序,其中每當創建新用戶時在客戶端系統上生成哈希和鹽,然後將鹽漬密碼和哈希傳送到存儲在SQL服務器中的服務器。但是,如果我遵循這種方法並且數據庫受到威脅,那麼每個密碼的密碼和salt值將可供X人使用。那麼,我是否應該再次加密/加密密碼並在服務器端收到鹽?醃製的最佳做法是什麼?什麼是醃製和儲存鹽的最佳方式?
12
A
回答
22
在散列密碼旁邊的數據庫中存儲未加密的鹽不是問題。
鹽的目的不是保密的。每個散列(即隨機)的目的是不同的,並且足夠長以在攻擊者抓住數據庫時擊敗使用rainbow tables。
關於這個問題,Thomas Ptacek看到這個excellent post。
編輯@ZJR:即使鹽是完全公開的,它們仍然會打敗彩虹桌的好處。當你有一個鹽和散列數據,你能做的最好的扭轉是蠻力(前提是哈希函數加密安全)
編輯@ n10i:參見維基百科文章secure hash function。至於鹽的大小,流行的bcrypt.gensalt()實現使用128位。
6
請花點時間閱讀本非常好的鹽的描述和散列
相關問題
- 1. 什麼是存儲主機名和端口的最佳方式?
- 2. 什麼是存儲和計票的最佳方式?
- 3. 鹽密碼的最佳方式是什麼?
- 4. 什麼是存儲對AD組的引用的最佳方式?
- 5. 什麼是存儲我的2D數據的最佳方式
- 6. 什麼是存儲命名範圍信息的最佳方式?
- 7. 什麼是存儲元標籤的最佳方式?
- 8. 在mysql中存儲html代碼的最佳方式是什麼?
- 9. 什麼是存儲文本數據的最佳方式?
- 10. 使用Hibernate存儲數組的最佳方式是什麼?
- 11. 什麼是存儲NSString的最佳方式?
- 12. 在mysql中存儲python timedelta值的最佳方式是什麼?
- 13. 什麼是存儲臨時數據的最佳方式?
- 14. 什麼是存儲趨勢數據的最佳方式?
- 15. 存儲epub書籍的最佳方式是什麼?
- 16. 存儲傳入流數據的最佳方式是什麼?
- 17. 什麼是存儲這些數據的最佳方式?
- 18. 在Xcode中存儲資源的最佳方式是什麼?
- 19. 在Docker中存儲數據的最佳方式是什麼?
- 20. 什麼是存儲持久對象數組的最佳方式?
- 21. 什麼是存儲此類數據的最佳方式?
- 22. 什麼是存儲軟件文檔的最佳方式?
- 23. 什麼是存儲本地球員高分的最佳方式
- 24. 存儲用戶權限的最佳方式是什麼?
- 25. 在Mongo中存儲/查詢`last_read`的最佳方式是什麼?
- 26. 在github上存儲Symfony項目的最佳方式是什麼?
- 27. 存儲數據以使用jQuery的最佳方式是什麼?
- 28. 什麼是存儲下載文件的最佳方式?
- 29. 什麼是備份Azure Blob存儲內容的最佳方式
- 30. 什麼是存儲站點配置數據的最佳方式?
我想說的鹽的目的不是要** **公衆,無論是。 – ZJR 2009-11-18 01:39:57
可以ü請解釋「哈希函數是密碼安全的」。對不起,我是密碼學的新手。在你的回覆中,你提到「足夠長的時間來擊敗彩虹桌的使用」鹽應該保持足夠長的時間? – Neel 2009-11-18 02:31:13