2017-08-31 81 views
-1

我正在維護Opencart網站。現在我要更新oc_customers表。想要更改現有的Opencart數據庫密碼格式

我想將現有客戶的密碼(md5 +鹽)轉換爲簡單的密碼格式。

我不想使用過於複雜的格式。我想維護密碼就像base64_encode($ testPassword);對於新客戶來說,這不是問題。

但對於現有客戶,我不知道如何更改md5 + salt - > normal - > base64_encode?

+1

向我們展示一些代碼,您嘗試了什麼?這些嘗試如何失敗? – Chiperific

+0

我不想使用太複雜的格式。我想維護 密碼就像base64_encode($ testPassword); 對於新客戶那是沒有pblm。但對於現有客戶, 我不知道如何更改md5 + salt - > normal - > base64_encode? – Ived

+0

密碼格式(md5 + salt)維護比轉換比如md5 + salt - > normal - > base64_encode容易。 – Ived

回答

0

對於初學者來說,這是一個壞主意,因爲在存儲密碼時密碼salting是一項重要且非常標準的操作。它實現的主要目的是在惡意第三方訪問數據庫的情況下保護用戶。如果發生這種情況,攻擊者將不得不分別強制每個密碼,這會降低攻擊速度並防止攻擊者使用預先計算的彩虹表。

如果您真的想這樣做,那麼您將不得不支持兩種身份驗證方法,並添加一個標誌,每個客戶使用哪種方法,然後當您使用舊方法成功從客戶登錄時,訪問您可以以新格式錄製的正確的純文本密碼。對於攻擊者來說,攻擊者很難推斷出原始密碼,並且出於同樣的原因,您很難在不知道密碼的情況下將它們轉換爲新格式。 Salting防止網站所有者知道實際密碼是什麼,這是一個理想的功能。

最後,使用base64與將密碼存儲爲純文本幾乎相同,因爲任何人都可以解碼base64_encode的字符串。哈希函數更好,因爲你不能像base64那樣將它們反轉,但仍然存在人們可以預先計算大量哈希的問題。這就是爲什麼你想使用鹽。

相關問題