我需要鹽和散列一些密碼,以便我可以將它們安全地存儲在數據庫中。 對於如何最好地使用Linq To SQL來做到這一點,您有任何建議或想法嗎?使用Linq To SQL鹽漬和散列密碼
10
A
回答
25
LINQ to SQL在這種情況下沒有多大關聯。你可以使用任何你想要的機制,因爲你不會在SQL中進行哈希和醃製。
保存密碼,將沿着這些路線走的步驟:
- 收到密碼爲明文,與用戶的ID一起。
- 生成(並記住)鹽。
- 將鹽與密碼文本相結合,例如,加上它或追加它。
- 使用散列函數對結果文本進行散列處理
- 將用戶ID,散列和鹽存儲在數據庫中。
驗證密碼就會沿着這些路線走的步驟:
- 收到密碼爲明文,與用戶的ID一起。
- 從提供的用戶ID中檢索數據庫的散列和鹽。
- 將鹽與提供的密碼文本組合在一起。
- 用你的散列函數散列結果文本。
- 將函數的散列與從數據庫中檢索的散列進行比較。
- 如果它們相同,則提供的密碼是正確的。
+0
它是常見爲每個密碼生成並存儲salt,而不是將一個共同的salt與每個收到的密碼結合起來?當然,它「似乎」更安全,但是因爲鹽只是存儲在數據庫中......只是想知道。 – JMD 2009-02-24 17:24:31
1
3
由於您使用的是.NET和C#,使用可以使用System.Security.Cryptography.SHA512Managed命名空間用於生成鹽值和密碼哈希
0
如果是用戶帳號登錄你不想只是鹽+密碼哈希,您還希望按照RFC2898文檔中的PBKDF2使用密鑰擴展。
這裏是API做你需要使用例子是什麼: https://sourceforge.net/projects/pwdtknet
在指定的長度也創建加密隨機鹽
相關問題
- 1. 如何比較密碼與鹽漬散列密碼
- 2. 驗證鹽漬散列
- 3. 鹽漬散列算法
- 4. 提取/解密散列/鹽漬密碼了XML文件的
- 5. 鍵控或鹽漬散列?
- 6. 鹽漬的密碼安全
- 7. 硬編碼密碼應該被鹽漬/散列?
- 8. 如何在數據庫中存儲鹽漬散列密碼
- 9. 鹽漬密碼安全
- 10. PHP檢查散列/鹽漬密碼時的登錄問題
- 11. 鹽漬密碼哈希不保存鹽
- 12. 哈希和鹽漬密碼字段
- 13. 如何使用GWT與Apache Shiro散列和鹽漬
- 14. 如何加鹽和散列密碼
- 15. 鹽漬密碼是否過時?
- 16. 哈希/鹽漬時密碼不匹配
- 17. 如何用隨機鹽散列密碼?
- 18. 用於散列密碼的雙鹽?
- 19. 使用鹽漬散列密碼短語時,可以在服務器端執行密碼複雜度嗎?
- 20. 加密在登錄時比較哈希和鹽漬密碼
- 21. 散列密碼數據庫的LINQ to SQL
- 22. 哈希和鹽漬密碼並不總是相同
- 23. 鹽的位置,鹽漬
- 24. 試圖實現哈希和鹽漬的密碼登錄形式
- 25. 當我使用鹽漬的CRYPT_MD5加密我的密碼時,什麼在加密?
- 26. 散列密碼,SQL
- 27. 可以從密碼派生鹽,然後散列密碼+派生鹽?
- 28. 鹽和密碼
- 29. 散列(與鹽)的用戶名和密碼在PHP
- 30. 我應該如何將我的sha512鹽漬和散列密碼存儲在MySQL中?
使用本:http://encrypto.codeplex.com/ – Omu 2010-09-14 08:36:43