我試圖確保一個即將被移動到公共服務器的網站。我剛剛完成了將密碼散列函數添加到我的所有登錄腳本。我使用FormsAuthentication.HashPasswordForStoringInConfigFile(pw, method)
這樣做。我有一個關於我使用和它是否是安全的web服務器的進程問題:VB.Net密碼散列做法
- 密碼以純文本格式通過HTTPS發送到服務器
- 服務器查找在用戶表找到
- 明文密碼被追加與鹽
- 新的字符串使用上述功能
- 新湊版本進行比較散列用戶的鹽(幾個隨機字符)和它們的哈希和鹽醃存儲的密碼存儲的版本爲
- 如果相等,則允許登錄
- 如果不相等,登錄嘗試會記錄在會話變量中,最多3次,然後鎖定用戶計算機訪問登錄頁面,直到管理員驗證IP地址並解鎖。
這是否正確?我只是沒有看到鹽在這種方法中是如何有效的......無論如何,我所做的只是添加鹽和散列。這是否被認爲是加密?還是我錯過了一個步驟?我記得讀過像SHA1和MD5這樣的散列算法不是加密算法,那還有什麼需要做的?
密碼永遠不應加密,它們必須始終被哈希。 – rook 2011-03-30 18:59:11
謝謝,你說這很有趣。當它實際上只是散列化時,我一直稱這種方法爲「加密」。我對這個東西還是一個新的東西,所以我不知道有什麼不同。只是將問題標題從「加密」改爲「哈希」 – Dexter 2011-04-01 19:34:03