我有一個關於SHA512哈希與C#和SQL之間的鹽的問題。什麼是最好的方式來存儲哈希值,我可以正常後,將它們保存在數據庫從Web應用程序?以後用戶登錄驗證用戶時可以安全地訪問它們嗎?我可以在SQL中使用用戶和密碼,哈希密碼並添加salt,稍後用相同的算法在c#hash中驗證用戶是否通過它的大小去除鹽,並比較兩個哈希值?在sql和web應用程序之間安全地發送密碼的最佳做法?
回答
什麼是存儲哈希的最佳方式,從網絡應用程序保存在數據庫中?以後用戶登錄驗證用戶時可以安全地訪問它們嗎?
如果您使用正確的方法,如果您碰巧將所有散列轉儲到pastebin上,則不會發生任何事情;由於鹽(最好是胡椒),沒有人可以對你的哈希做任何事情(因爲它們沒有無限的時間和計算能力)。
所以,是的,你應該簡單地散列存儲在一個適當類型的數據庫列。然後在登錄後,您重新輸入輸入的純文本密碼並將其與存儲在數據庫中的密碼進行比較。
謝謝,但如果我想讓用戶使用SQL而不是Web應用程序(C#),那該怎麼辦?我明白,使用相同的等SHA可以讓我來驗證輸入的值是否與分貝中的散列值相同,但鹽呢?也許,剛剛發生在我身上,如果我知道從SQL中提取數據之後我可以在C#中刪除salt並將其與散列輸入進行比較,從而得到鹽的長度? – djedjica
_「如果我從SQL中提取數據後知道鹽的長度,可以在C#中刪除鹽並將其與散列輸入進行比較?」_ - 否。 – CodeCaster
因此,我無法在SQL中創建用戶並在C#中以這種方式驗證它們嗎? – djedjica
這是一個非常複雜的話題,你應該確保你做到了正確 - 大多數人不會。
我見過的最全面的指南是Les Hazlewood的How to Secure Passwords - Developer Best Practices談話,這是我建議看作一個好開始。
這裏沒有人能夠回答你所有的問題都沒有寫一本小書,所以我只能推薦觀看這次談話,注意,解釋問題,解決方案,工具和技術,然後找到一些關於他們的更多信息。
或者你也可以外包你的用戶處理一些公司,做它正確,就像Stormpath。您也可以使用OpenID或BrowserID,根本不關心密碼。 (雖然我不會推薦使用BrowserID,但至少在可以可靠地驗證自己的服務器上的斷言之前是如此)。
- 1. 在OSX和IOS之間共享代碼的最佳做法應用程序
- 2. 在PHP Web應用程序中安全登錄的最佳做法是什麼?
- 3. 防止密碼列表攻擊與Web應用程序的最佳做法
- 4. 從應用程序向服務器發送用戶名和密碼的最佳做法
- 5. Django查看安全和最佳做法
- 6. 在iPhone和iPad應用程序之間共享開發代碼是否有最佳做法
- 7. Web應用程序中安全問題的最佳實踐
- 8. 在iOS應用程序內安全發送靜態文本的最佳方式?
- 9. 使用gwt和app引擎安全地發送密碼?
- 10. 安全地發送用戶名和密碼
- 11. SFTP安全地發送用戶名和密碼嗎?
- 12. 爲Android打包Web應用程序的最佳做法
- 13. Web應用程序中的Spring bean範圍。最佳做法
- 14. 國際化Web應用程序的最佳做法?
- 15. iOS - 在VoIP應用程序上發送來電通知的最佳做法
- 16. 在兩個Web應用程序之間提供安全性
- 17. 從Android應用程序向REST webservices發送密碼的最佳做法是什麼?
- 18. 在Android應用程序之間共享數據的最佳做法
- 19. Codeigniter,安全搜索的最佳做法
- 20. 解密密碼的最佳方法(從安全角度來看)
- 21. 提供MySQL JDBC驅動程序密碼的最佳做法
- 22. 使用SQLite開發AIR應用程序的最佳做法
- 23. 在桌面和Web應用程序之間交換數據的最佳實踐
- 24. 最佳做法 - 技術爲web/php/mysql應用程序
- 25. 在Web和非Web應用程序之間共享HttpContext代碼
- 26. 任何方式安全地存儲密碼的應用程序
- 27. 發送道具反應應用程序的最佳方法
- 28. Web應用程序發送客戶端通知最佳實踐?
- 29. 什麼是應用程序之間的數據轉換的最佳做法
- 30. 在類似的Web應用程序之間共享Web層代碼(控制器和JSP)的最佳實踐
你想保持安全嗎? HTTPS將確保客戶端和服務器之間的「純文本」密碼..並且您的服務器端代碼執行哈希..數據庫存儲散列值..這是我能想到的唯一弱點。我不確定你在問什麼具體.. –
是的我明白了,但我試圖找到方法讓用戶在SQL數據庫中哈希他們的密碼根據他們在活動目錄中的密碼,但當用戶登錄網絡驗證其輸入值根據散列值內的SQL數據庫,我想我需要再次散列密碼,看看是否相等。不知道這是可能的嗎? – djedjica