2013-01-08 172 views
0

我看到很多高調的網站和網絡應用程序,這些網站和網絡應用程序對密碼看起來有些荒謬的限制。是否有合法的理由對密碼進行字符限制?更具體地說,常見的(如in,[shift] + [number key])標準ASCII單字節字符?非常小的長度要求(5 - 8個字符)呢?密碼的字符/長度限制?

我能想到的唯一技術原因是密碼是以純文本而不是至少以某種方式被混淆/散列存儲的。還有沒有其他不太令人震驚的理由我沒有考慮過?

注:我希望有一些客觀的答案,並希望避免陷入這個主題的主觀方面的誘惑。我更感興趣的是真正的/具體的技術原因,爲什麼這樣的限制是必要的。

+0

有一對夫婦或security.se [1](HTTP相關的問題://安全。 stackexchange.com/questions/1534/why-do-some-websites-and-programs-restrict-password-characteristics)[2](http://security.stackexchange.com/questions/6287/should-i-have- a-maximum-password-length)[3](http://security.stackexchange.com/questions/22884/my-credit-union-is-reducing-its-maximum-password-length-to-10-characters) – CodesInChaos

+0

我唯一可以看到的密碼長度限制是有道理的,當密碼被用於「請給我們字符5的密碼」樣式的問題 - 你必須分別散列每個字符,所以搜索空間會被sev完全受限制。但對於這樣的系統,我通常會推薦兩個單獨的密碼 - 一個是散列,另一個用於位置問題 –

回答

1

有時,網站所有者希望在使用某些鍵盤/操作系統上不可重現的外來字符時避免用戶問題。記住你並沒有真正看到你的密碼,所以你輸入的內容很可能不是你的意思。考慮大寫鎖定。出於同樣的原因Facebook is very relaxed wrt. character case in passwords

密碼長度的下限顯然是出於安全原因。密碼越短,花費的時間越少(指數級!)就會破解。

我不明白爲什麼網站有密碼長度的上限。畢竟他們都是哈希和鹽漬,所以所有的密碼都佔據了數據庫中完全相同的空間......

0

說他們是以純文本的形式存儲的,與一些地方限制這些字符的原因無關,存儲在純文本是一個不同的問題。最常見的原因是底層操作系統無法處理任何這些「特殊」字符,因此企業升級速度很慢。混淆功能很少。它幾乎總是軟件的一個限制,無論這是他們使用的還是他們的團隊創建的。

我相信Windows 2000和較舊的不支持密碼長度超過8時(我可能是錯的對數)

+0

Windows 2000使用的NTLM密碼限制爲14個字符。請參見[神話#3](http://www.symantec.com/connect/articles/ten-windows-password-myths)。 – Steve