Web前端密碼加密是否有意義,web前端使用者的密碼提交時應當怎樣加密

2021-03-04 09:31:34 字數 4644 閱讀 5574

1樓:匿名使用者

密碼在前端加密完全沒有意義,對密碼系統的安全性不會有任何提高,反而會引發不必要的麻煩。首先,做前端開發的人需要知道,前端系統的控制權是完全在使用者手裡的,也就是說,前端做什麼事情,使用者有完全的控制權。假設如同 @陳軒所說,前端做過了md5,後臺就不用做了,這個做法會有什麼後果?

如果某一天,這個系統的資料庫洩露了,黑客就直接拿到了每個使用者的密碼md5值,但此時,由於黑客知道密碼是在前端進行雜湊的,所以他不需要爆破出該md5對應的原文是什麼,而是直接修改客戶端向伺服器發出的請求,把密碼欄位換成資料庫中md5就可以了,由於與資料庫中記錄一致,直接就會登入成功。這跟直接儲存明文密碼沒有任何區別!!!所以不管前端是不是加密了密碼,後臺使用安全的雜湊演算法對內容再次轉換是非常有必要的。

(md5可不行,要用bcrypt,我之前回答過一個類似的:隨著顯示卡效能的高速發展,目前的快速hash演算法是否已經變得不夠安全了?)這個回答還有一個人贊同,希望大家別被錯誤答案誤導了。

另外一個答案 @林鴻所說,在非安全http連線上,可以防止原始密碼被竊聽。但問題在於由於你的登入系統接受的雜湊過的密碼,而不是原文,竊聽者根本不需要原始密碼,只要通過雜湊結果就可以偽造請求登入系統。這樣做只能防止被竊聽到原文的密碼被攻擊者用在社會學攻擊上,而不能改善該**的安全性。

所以不管前端是不是加密了密碼,使用https安全連線進行登入都是非常有必要的。以上我說的兩點,合起來看就是:不管前端是否加密了密碼,都不能以此為假設,讓後端設計的安全等級下降,否則就會有嚴重的安全問題。

實際上,前端進行密碼加密,可以看做幫助使用者多進行了一次原文的轉換,不管用了什麼加密演算法,算出來的結果都是密碼原文,你該如何保護使用者的原始密碼,就該如何保護此處的加密結果,因為對你的登入系統來說,它們都是密碼原文。以上這些,說明了密碼加密是沒有什麼意義的,接下來,我要說明前端加密會帶來什麼問題。有些人會認為前端進行了加密,可以降低後臺的安全性需求,這種錯誤的觀念會造成系統的安全漏洞。

實際上,你不能對前端做任何的假設,所有跟安全相關的技術,都必須應用在後臺上。前端進行加密會造成頁面需要js指令碼才能執行,那麼假設你的系統需要相容不能執行js的客戶端,就必須再設計一個使用原文的登入介面。由於前端是不是加密,所有安全機制都必須照常應用,所以為系統增加這樣的複雜性是完全沒必要的,即使傳輸明文密碼,只要正確使用了https連線和伺服器端安全的雜湊演算法,密碼系統都可以是很安全的。

2樓:育知同創教育

有意義的,加密之後,資料在網路傳輸的過程中被擷取破解的難度增加,資料更安全。對安全或資料要求更高的都會在瀏覽器端都會進行加密的。

3樓:小小苦咖啡

動態非對稱加密怎麼可能沒意義?攔截到密文有什麼用?登陸成功後這個加密後的金鑰已經失效了。

web前端使用者的密碼提交時應當怎樣加密

4樓:育知同創教育

密碼在前端加密完全沒有意義,對密碼系統的安全性不會有任何提高,反而會引發不必要的麻煩。首先,做前端開發的人需要知道,前端系統的控制權是完全在使用者手裡的,也就是說,前端做什麼事情,使用者有完全的控制權。假設如同 @陳軒所說,前端做過了md5,後臺就不用做了,這個做法會有什麼後果?

如果某一天,這個系統的資料庫洩露了,黑客就直接拿到了每個使用者的密碼md5值,但此時,由於黑客知道密碼是在前端進行雜湊的,所以他不需要爆破出該md5對應的原文是什麼,而是直接修改客戶端向伺服器發出的請求,把密碼欄位換成資料庫中md5就可以了,由於與資料庫中記錄一致,直接就會登入成功。這跟直接儲存明文密碼沒有任何區別!!!所以不管前端是不是加密了密碼,後臺使用安全的雜湊演算法對內容再次轉換是非常有必要的。

(md5可不行,要用bcrypt,我之前回答過一個類似的:隨著顯示卡效能的高速發展,目前的快速hash演算法是否已經變得不夠安全了?)這個回答還有一個人贊同,希望大家別被錯誤答案誤導了。

另外一個答案 @林鴻所說,在非安全http連線上,可以防止原始密碼被竊聽。但問題在於由於你的登入系統接受的雜湊過的密碼,而不是原文,竊聽者根本不需要原始密碼,只要通過雜湊結果就可以偽造請求登入系統。這樣做只能防止被竊聽到原文的密碼被攻擊者用在社會學攻擊上,而不能改善該**的安全性。

所以不管前端是不是加密了密碼,使用https安全連線進行登入都是非常有必要的。以上我說的兩點,合起來看就是:不管前端是否加密了密碼,都不能以此為假設,讓後端設計的安全等級下降,否則就會有嚴重的安全問題。

實際上,前端進行密碼加密,可以看做幫助使用者多進行了一次原文的轉換,不管用了什麼加密演算法,算出來的結果都是密碼原文,你該如何保護使用者的原始密碼,就該如何保護此處的加密結果,因為對你的登入系統來說,它們都是密碼原文。以上這些,說明了密碼加密是沒有什麼意義的,接下來,我要說明前端加密會帶來什麼問題。有些人會認為前端進行了加密,可以降低後臺的安全性需求,這種錯誤的觀念會造成系統的安全漏洞。

實際上,你不能對前端做任何的假設,所有跟安全相關的技術,都必須應用在後臺上。前端進行加密會造成頁面需要js指令碼才能執行,那麼假設你的系統需要相容不能執行js的客戶端,就必須再設計一個使用原文的登入介面。由於前端是不是加密,所有安全機制都必須照常應用,所以為系統增加這樣的複雜性是完全沒必要的,即使傳輸明文密碼,只要正確使用了https連線和伺服器端安全的雜湊演算法,密碼系統都可以是很安全的。

web前端密碼加密是否有意義

5樓:廣州啟匯營銷策劃****

有必要不加密的話如果http請求被攔截的話就可以知道使用者的原始密碼了,這是一件要不得的事情。

如果被攔截了,不管怎樣攔截者只要檢視原始碼,模擬請求之後都能登陸上。但是因為很多使用者目前來說基本上來說不會一個**一個密碼,而是對應著多個賬戶的。

加密更安全,不是為了完全阻擋攻擊,而是為了提高攻擊的成本,降低被攻下的概率。

** 網頁上的登陸模組(全程http/get請求):

web前端密碼加密是否有意義

6樓:育知同創教育

有意義的,加密之後,資料在網路傳輸的過程中被擷取破解的難度增加,資料更安全。對安全或資料要求更高的都會在瀏覽器端都會進行加密的。

web前端密碼加密是否有意義

7樓:西安it優就業

密碼在前端加密完全沒有意義,對密碼系統的安全性不會有任何提高,反而會引發不必要的麻煩。

(1)加密了也無法解決重放的問題,你發給伺服器端的雖然是加密後的資料,但是黑客攔截之後,把加密之後的資料重發一遍,依然是驗證通過的。直接監聽到你所謂的密文,然後用指令碼發起一個http請求就可以登入上去了。

http在網路上是明文傳輸的,**和閘道器都能夠看到所有的資料,在同一區域網內也可以被嗅探到,你可以開個wireshark抓下區域網的包試試看。加密也沒有提高什麼攻擊難度,因為攻擊者就沒必要去解密原始密碼,能登入上去就表示目標已經實現了,所以,難度沒有提高。

(2)既然是加密,那麼加密用的金鑰和演算法肯定是儲存在前端的,攻擊者通過檢視原始碼就能得到演算法和金鑰。除非你是通過做瀏覽器外掛,將演算法和金鑰封裝在外掛中,然後加密的時候明文混淆上時間戳,這樣即使黑客攔截到了請求資料,進行重放過程時,也會很快失效。

如果一個直播地址沒有加密,我能在前端限制使用者進來嗎

8樓:匿名使用者

密碼在前端加密完全沒有意義,對密碼系統的安全性不會有任何提高,反而會引發不必要的麻煩。首先,做前端開發的人需要知道,前端系統的控制權是完全在使用者手裡的,也就是說,前端做什麼事情,使用者有完全的控制權。假設如同 @陳軒所說,前端做過了md5,後臺就不用做了,這個做法會有什麼後果?

如果某一天,這個系統的資料庫洩露了,黑客就直接拿到了每個使用者的密碼md5值,但此時,由於黑客知道密碼是在前端進行雜湊的,所以他不需要爆破出該md5對應的原文是什麼,而是直接修改客戶端向伺服器發出的請求,把密碼欄位換成資料庫中md5就可以了,由於與資料庫中記錄一致,直接就會登入成功。這跟直接儲存明文密碼沒有任何區別!!!所以不管前端是不是加密了密碼,後臺使用安全的雜湊演算法對內容再次轉換是非常有必要的。

(md5可不行,要用bcrypt,我之前回答過一個類似的:隨著顯示卡效能的高速發展,目前的快速hash演算法是否已經變得不夠安全了?)這個回答還有一個人贊同,希望大家別被錯誤答案誤導了。

另外一個答案 @林鴻所說,在非安全http連線上,可以防止原始密碼被竊聽。但問題在於由於你的登入系統接受的雜湊過的密碼,而不是原文,竊聽者根本不需要原始密碼,只要通過雜湊結果就可以偽造請求登入系統。這樣做只能防止被竊聽到原文的密碼被攻擊者用在社會學攻擊上,而不能改善該**的安全性。

所以不管前端是不是加密了密碼,使用https安全連線進行登入都是非常有必要的。以上我說的兩點,合起來看就是:不管前端是否加密了密碼,都不能以此為假設,讓後端設計的安全等級下降,否則就會有嚴重的安全問題。

實際上,前端進行密碼加密,可以看做幫助使用者多進行了一次原文的轉換,不管用了什麼加密演算法,算出來的結果都是密碼原文,你該如何保護使用者的原始密碼,就該如何保護此處的加密結果,因為對你的登入系統來說,它們都是密碼原文。以上這些,說明了密碼加密是沒有什麼意義的,接下來,我要說明前端加密會帶來什麼問題。有些人會認為前端進行了加密,可以降低後臺的安全性需求,這種錯誤的觀念會造成系統的安全漏洞。

實際上,你不能對前端做任何的假設,所有跟安全相關的技術,都必須應用在後臺上。前端進行加密會造成頁面需要js指令碼才能執行,那麼假設你的系統需要相容不能執行js的客戶端,就必須再設計一個使用原文的登入介面。由於前端是不是加密,所有安全機制都必須照常應用,所以為系統增加這樣的複雜性是完全沒必要的,即使傳輸明文密碼,只要正確使用了https連線和伺服器端安全的雜湊演算法,密碼系統都可以是很安全的。

我這樣活著是否有意義,我這樣活著的還有意義嗎

作為一個男人要有主見,如果你連這點主見都沒有,在選擇人生道路的問題上還要這樣瞻前顧後,那你就真不像個爺們了。如果你覺得你的決定是對的,你能在這個領域裡闖出一片天空,就去做,就去闖,年輕要的就是這種衝勁!作為一個男子漢,就該勇敢的去闖,去爭取,去奮鬥,沒事糾結在這種問題上那不是更浪費時間。現在的問題不...

故意殺人的話,自首是否沒有意義

有意義,至少知道錯了 對量刑的話通常來講是沒有意義的,但是有時候除外,比如在兩院公告可以寬大處理的時候,直接向檢察院自首就可以從輕,這個有個一個專有格式,叫 受兩院感召 這個時候,如果會判二年以內的,基本上都緩刑,判5年以上的,基本都2年以下 當然有時候會加刑。比如公安系統完成指標的時候。他就會逼你...

你認為大學裡的辯論是否真的有意義

我個人認為大學的辯論是有必要的,因為我們將要面臨著社會上各種場合,所以叫我們寫 的時候,本身又是要鍛鍊我們的思維邏輯能力,那麼在辯論的時候也是這個意思,讓我們大學生能夠有自己的思想邏輯,然後面對的職場上各種各樣的問題,知道要用什麼樣的真理去可不大,而且去說服他,所以我認為大學辯論是非常有必要的。以前...