很多網站都限制了最大密碼長度,不知道是什麼原因? 除非是資料庫裡面是明文存儲,要不然用MD5或者SHA加密之後,密文的長度都是固定的,完全對存儲沒有影響。


只要有緩衝區溢出這一說,不僅僅是口令,所有的輸入都應該限制最大長度。

要看限制到多少,像很多最長16位的純屬是腦殘。


怕你忘了

密碼過長完全沒有必要,誰也不想增加無謂的工作量。

好吧,不要誤人子弟。。

限制密碼的最小長度很好理解:

太短的密碼容易被破解出來,即使你該網站用了 md5 加密,萬一資料庫泄漏也是非常容易被破解;

參考:http://www.cmd5.com/

但是為什麼要限制密碼最大長度:

網站的設計人員害怕用戶容易忘記太長的密碼,以至於忘記後需要重新找回密碼(只是猜想); 或者是根本沒有原因為什麼要限制密碼的最大長度:

Passwords are hashed to 32, 40, 128, whatever length. The only reason for a minimum length is to prevent easy to guess passwords. There is no purpose for a maximum length.

http://stackoverflow.com/questions/98768/should-i-impose-a-maximum-length-on-passwords

最後,這是一個陰謀論:

根據最近一段時間的密碼泄漏的時間來看,CSDN、人人、貓撲等等都是用明文儲存的密碼(如果加密儲存的話都會統一成 32,40,128 位的長度),如果每個人用的密碼都很長很長的話,資料庫的密碼欄位會比較難處理(為了存儲明文密碼的方便?或者之前設計了限制了密碼欄位的長度),所以限制了用戶密碼的最大長度。 好吧,你懂的,或許為了明文存儲你的密碼就是為什麼要限制你密碼最大長度的原因。。。(好吧,這只是一個猜想,國外很多網站照樣限制了最大長度,不知道起初的設計是來自哪裡?)

可以限制最大長度,比如100位,完全沒有問題。

我比較贊同陰謀論。


防止緩衝區溢出攻擊
可以與現實中的鑰匙對比一下。便攜性與安全性的折中。
不限制的話輸入字元太長你自己都記不住,而且數據太長緩衝太慢
怕用戶記不住吧,可能這樣


如果密碼是以明文傳輸的話,密碼太長可能給黑客可乘之機。比如說如果在密碼框中輸入一段JavaScript腳本再明文傳送到伺服器上,沒做防護的伺服器會直接運行這段腳本,這就是XSS跨站腳本攻擊。
推薦閱讀:
相關文章