我對Web開發(今年1月份開始)和Web安全(不到一週前開始!)都不熟悉,所以請原諒我的問題是否嚴重沒有教育,錯誤或簡單愚蠢。在通過HTTPS發送密碼之前是否需要散列密碼?
我工作的公司主要產品是一個很好的老式客戶/服務器系統。爲了讓它更吸引我們的客戶,我被賦予了開發一系列以任務爲中心的Web應用程序的任務,以補充系統的整個業務流程爲中心的設計。例如,如果用戶在組織中的角色包括批准採購訂單和付款訂單,那麼他們可能會發現使用WebApprovals應用程序比打開採購和資金管理模塊更容易,並分別使用它們來批准採購訂單和付款訂單。
不用說,我所有的Web應用程序都有一個登錄頁面。當然,我需要他們安全。出於這個原因,通過設計,這些Web應用程序只能通過HTTPS使用,而不能使用普通的HTTP。
現在,我想知道如何安全地通過HTTPS發送密碼而無需任何進一步的安全措施。它足夠安全嗎?在安全領域有經驗的人必須說些什麼?
@Matthew:我真的不明白隨機醃製是如何工作的。我如何根據包含隨機鹽的哈希來驗證用戶的密碼? – pyon 2011-03-23 21:59:21
@Eduardo,您將每個用戶salt和hash存儲在數據庫中。兩者都不是真的祕密。然後,您散列存儲的鹽和提供的密碼,並根據存儲的散列檢查結果。請參閱[本文](http://wheelersoftware.com/articles/storing-passwords-securely-hash-salt.html)。您也可以搜索堆棧溢出以獲取更多信息。 – 2011-03-23 23:40:55
@Matthew:如果這些鹽實際上已保存在數據庫中並與其各自的用戶相關聯,那麼在使用隨機salt和使用非公共用戶特定字段(如UserID)的系統中,UserID和用戶名是單獨的字段)作爲鹽? – pyon 2011-03-23 23:49:18