我知道這個問題聽起來像是它已經可以回答了,但留在我身邊。我有一個網站,需要用戶註冊並登錄。在這個過程中,讓我們註冊用戶將提供一個用戶名和密碼,系統將檢查信息,然後POST自己的PHP腳本鹽和散列將密碼存儲在數據庫中之前。在不使用SSL的情況下散列密碼的最佳做法
現在,我認爲這是安全的,鹽和散列密碼總是最好的做法,但最近我想過這是如何發生的,數據必須發送到服務器之前,它可以被哈希和因爲我不' t使用SSL的用戶名和密碼發送未加密,所以我會正確的假設這些信息將以純文本形式發送?
如果是這樣,這是不好的。因此,我可以通過以下兩種方式看到:
使用SSL並保護用戶和服務器之間的連接並加密發送的數據。
散列的信息離開用戶之前,這可以使用Javascript
我要實現的第二,但我不知道如何做到這一點來完成。最佳做法是什麼?
在發送信息之前,我一直在想一個AJAX腳本將控制數據並檢查是否首先查找信息,然後再查找信息並散列。
我描述過的這個實現是否存在任何安全隱患?
謝謝你的時間。
問題是,你是然後暴露哈希算法和醃製客戶端,然後攻擊者可以弄清楚。就我個人而言,我堅持SSL是最安全的選擇。 – Lloyd 2013-03-08 11:11:25
使用javascript以某種方式保護它時,有沒有辦法?以這種方式做事總是幫助我用JavaScript來建立自己的技能。 – ragebunny 2013-03-08 11:17:48
我建議你閱讀本頁http://www.matasano.com/articles/javascript-cryptography/。正如Lloyd指出的那樣,解決方案2的問題是用於執行加密的JavaScript仍然以明文發送,如果您可以在JS中擁有合適的隨機數生成器(很多加密算法可免費獲得)在明確沒有問題),但目前這是不可能的。 – 2013-03-08 11:31:33