我正在考慮從登錄頁面傳輸登錄名和密碼時增加安全性。 我在互聯網上發現了一個javascript md5函數,所以發送密碼的第一種方法是使用POST方法發送md5散列代替密碼。 據我所知,仍然有很多問題,該方法應該改進。 未存儲數據庫中的密碼,只存儲md5散列(其他函數也用於使其複雜化)。 但是,我的問題是:從託管服務提供商更喜歡ssl加密是否有意義或更好?它每年花費大約100美元(假設對於我的問題來說價格很合理),而不是重新發明輪子。 ssl的負值(如果我沒有錯的話)是:如果登錄部分位於主頁面上,主頁面將加載速度較慢(儘管雅虎登錄頁面使用https加載的速度相當快),並且任何用戶都將在瀏覽器中看到https字符串(這不是壞事,但它是好?)安全登錄頁面:javascript md5函數vs SSL,如果登錄塊位於主頁面
是怎樣的主意,用(無SSL): 1)wher中,MD5用戶登錄(密碼)發送的,而不是他的真實密碼 2)服務器接收md5(密碼),使其成爲md5(md5(密碼)+'kjhgkjhg'),並與存儲在db中的散列進行比較。 db爲所有用戶存儲md5(md5(密碼)+'kjhgkjhg')散列值。 因此,如果md5(密碼)被嗅探,它將無助於獲取md5(md5(密碼)+'kjhgkjhg'),因爲'kjhgkjhg'未知。 這是一個很好的方式來保證登錄頁面的安全嗎?
謝謝。
是的,它確實更有意義。使用SSL *至少*。並且不要依賴Javascript來處理服務器獲取的頁面。不要使用'md5',它被認爲對於密碼哈希來說太弱。 –
您是否建議從主頁面中刪除登錄塊,然後使用http作爲主頁面並使用https登錄頁面(即主頁面中的另一頁面)...謝謝。 – Haradzieniec
認爲向服務器發送MD5哈希比發送純文本密碼要好很多。見:http://stackoverflow.com/q/5724683/476 – deceze