2012-01-31 43 views
0

我是一個人的樂隊,必須解決某人某個時間以前創建日誌的問題。我有一個客戶端網站,密碼存儲不安全(純文本)。我想補救這一點,但我只是想過程中,以確保我在正確的軌道上轉換爲哈希密碼(最有可能的md5)。在不安全的密碼更改中驗證邏輯

這是我的步驟,我可以相信我可以解決這個問題。

  1. 修改表以允許更大的加密密碼。
  2. 將salt,以前的密碼和日期上次更改的密碼添加到表中。
  3. 重置所有密碼,存儲所有舊密碼。不知道在存儲舊密碼時是否使用純文本或md5。
  4. 強制用戶更改密碼。這個過程我仍然是陪審團。

    • 我想我允許他們登錄,驗證用戶,檢查密碼是否爲32個字符或更少。

    • 如果更少,請檢查過去的密碼是否匹配。

    • 如果以前的密碼匹配,用臨時令牌發送郵件到頁面更改密碼。

這聽起來是合理的流程?我擔心的部分是他們被迫更改密碼的時候。另一種選擇是在他們嘗試登錄時向他們發送令牌以更改密碼。

在此先感謝!

+0

如果您有用戶的明文密碼,爲什麼不只是MD5他們?在這種情況下,您不需要檢查特定的長度,並且可以立即增加安全性。檢查鹽是否定義,如果沒有,則將其轉換爲md5。當用戶使用一些隨機鹽發送新的密碼包時,存儲新的md5並存儲隨機鹽,以便知道這是一個轉換後的哈希值。 – atom 2012-01-31 13:30:23

+0

我忘了提及我有理由相信某些密碼可能已被泄露。 – 2012-01-31 14:13:39

回答

0

我認爲你應該兩個問題之間分開:
1.加密使用單向加密
2.使客戶端更改其密碼每隔180天左右

關於#2口令:這是完全可以讓用戶在每個時間段更改密碼,但是不應該縮短到180天,因爲它變得非常煩人......