回答
當然。這是很長的解釋,它超過了我的卑微的能力,所以你需要閱讀關於Entropy in Information Theory的概念。從Wikipedia一個簡單的解釋:
人類生成的口令
人們在獲得足夠的熵產生令人滿意的密碼出了名的失職。一些舞臺魔術師以一種微小的方式利用這種無法娛樂的方式,通過對聽衆假設的隨意選擇(數字)進行預測。
因此,在超過300萬8個字符的密碼的一個分析,字母「e」被用於超過150萬次,而字母「F」僅使用25萬次。一個統一的分配會讓每個角色使用大約90萬次。最常用的數字是「1」,而最常見的字母是a,e,o和r。
用戶很少會形成密碼充分利用更大的字符集。例如,2006年從MySpace網絡釣魚計劃獲得的黑客攻擊結果顯示34,000個密碼,其中只有8.3%使用了混合大小寫,數字和符號。
注意,如果在該密碼的每個字符從該組隨機選擇使用整個ASCII字符集(標號,大小寫混合字母和特殊字符)相關聯的全強度才能實現。大寫一個字母並在密碼中添加一個或兩個數字和一個特殊字符不會達到同樣的強度。如果以可預測的方式添加數字和特殊字符,比如說在密碼的開始和結尾處,與相同長度的全部字母隨機密碼相比,它們甚至可以降低密碼強度。 NIST特別出版物800-63
NIST特刊2004年6 800-63提出以下方案粗略估計人類產生的密碼熵:2
The entropy of the first character is four bits;
The entropy of the next seven characters are two bits per character;
The ninth through the twentieth character has 1.5 bits of entropy per character;
Characters 21 and above have one bit of entropy per character.
A "bonus" of six bits is added if both upper case letters and non-alphabetic characters are used.
A "bonus" of six bits is added for passwords of length 1 through 19 characters following an extensive dictionary check to ensure the password is not contained within a large dictionary. Passwords of 20 characters or more do not receive this bonus because it is assumed they are pass-phrases consisting of multiple dictionary words.
使用此方案中,不包含大寫字母和非字母字符的八字符人選密碼估計具有18位熵。 NIST的出版物承認,在開發時,很少有關於密碼真實世界選擇的信息。
後來的研究爲人類選擇的密碼熵利用新出現的現實世界的數據表明,NIST的方案不爲人類提供選擇的密碼熵估計的有效指標。 可用性和執行方面的考慮
由於國家鍵盤實現各不相同,並非所有的94 ASCII可打印字符可以隨處使用。這對於希望使用本地計算機上的鍵盤登錄到遠程系統的國際旅行者來說是個問題。請參閱鍵盤佈局。許多手持設備(如平板電腦和智能手機)需要複雜的移位序列才能輸入特殊字符。
驗證程序會根據密碼允許的字符而有所不同。有些不認識大小寫差異(例如,大寫「E」被認爲等同於小寫「e」),其他人則禁止其他一些符號。在過去的幾十年中,系統允許在密碼中使用更多的字符,但是限制依然存在。系統在允許的最大密碼長度上也有所不同。
,或者通俗地說:爲您添加了字母數字選項,每增加一個字節,你讓密碼更加複雜和難以打破。
更多信息here
1)如果你只使用字符和數字,你可能會使用一些詞或數字,可以很容易地猜到了。黑客有重複和快速嘗試所有已知單詞的工具,並且在嘗試使用特殊字符的密碼之前嘗試這些方法
2)如果您只使用字母和數字,則猜測任何位置的字符的概率爲1/62有62種可能)。
如果您使用特殊字符(there are 32 of them),則概率降至1/94。
如果您鍵入例如8個字符,則可以組成的總數爲 a)如果您不使用特殊字符:62 ** 8 = 2.1834E + 14
b)如果您確實使用特殊字符:94 ** 8 = 60.9569E + 14
因此,使用特殊字符的組合將會多出約30倍,這意味着使用特殊字符比使用特殊字符的密碼要長約30倍一個使用密碼中的8個字符
背後的主要技術原因是很難猜測,爲了增加密碼安全性,這是一個很好的做法。當任何人嘗試利用時,起初他會嘗試使用字典攻擊來做到這一點,如果您使用特殊字符,則可以避免此問題。出於這個原因,很少有組織制定密碼策略,其中包含此規則以提高安全性。
- 1. PHP:特殊字符密碼
- 2. 爲什麼密碼鹽被稱爲「鹽」?
- 3. 有特殊字符Angular2密碼驗證
- 4. 允許特殊字符輸入密碼
- 5. 正則表達式強密碼特殊字符
- 6. 使用download.file時,通過密碼中的特殊字符
- 7. 使用特殊字符解碼PHP中的JSON密鑰
- 8. 爲什麼net-snmp 5.5-57不接受加密密鑰和認證密鑰的特殊字符(&,^,$)。
- 9. 使用via文件的mysql密碼特殊字符限制
- 10. 爲什麼顯示密碼強度密碼不適用於jQuery Form Validator?
- 11. 爲什麼不應該使用密碼作爲會話密鑰
- 12. 如何在C#中輸入一個特殊字符作爲密碼字符
- 13. Postgres的默認密碼是什麼
- 14. 驗證密碼字段是否包含特殊字符
- 15. 爲什麼我的mysql的默認密碼不爲空字符串
- 16. database.yml中的特殊字符用於密碼
- 17. 在密碼中使用grant_type =密碼時使用特殊字符的WSO2 IS上的授權錯誤無效
- 18. 爲什麼Android中的密碼字段先顯示字符,然後被屏蔽?
- 19. 爲什麼AES使用相同的密鑰加密相同字符串的密碼總是不同的?
- 20. 爲什麼不用這個VBA代碼替換特殊字符?
- 21. 我應該認爲什麼是無效的密碼?
- 22. 對稱密碼學中密碼的用途是什麼?
- 23. 爲什麼要將密碼哈希截斷爲14個字符?
- 24. 爲什麼Hadoop被認爲是I/O密集型的?
- 25. WordPress的通用密碼和重置爲默認密碼
- 26. ansible:使用ssh密鑰認證但多次詢問密碼 - 爲什麼?
- 27. 具有特殊字符的FTP URL用戶名和密碼
- 28. NSMutableURLRequest和具有特殊字符的密碼將不起作用
- 29. 從Java連接時,DB2密碼中的特殊字符?
- 30. Symfony2/Doctrine2 - 轉義密碼中的特殊字符
好說明 – 2014-10-10 04:54:45