- 沒有鍵盤模式。即在鍵盤上垂直或水平相鄰的鍵。例如,'ZXCVBN123'應該被拒絕。
- 沒有常用的單詞,也沒有反寫或用特殊字符僞裝的單詞。例如'Universe1'和'Un1ver $ e'應該被拒絕。
1
A
回答
1
那麼,首先你需要確切地定義你想要的。什麼是鍵盤模式? 'jk'是鍵盤模式還是'jkl'?最短的模式是什麼? 'gy'是一種模式嗎?首先,你需要確定一個模式的真正含義。
然後你應該列出所有可用的模式(並不是那麼多,你有36個起點和4個方向從每個起點出發)。當你得到一個密碼時,嘗試找到它中的每個模式。請注意,如果您決定最短的模式爲3個字母長,則不需要搜索4個字母的模式,所有4個字母的模式都包含3個字母的模式。
至於說話,這很容易,但首先你需要列出所有不允許的轉換($ - > S,1-> i等)。一旦你得到一個詞,應用所有的轉換,讓自己成爲一個「規範化」的詞。將規範化密碼與所有合法詞彙的字典進行兩次比較 - 第二次反轉密碼。
您可能需要做一些比這更復雜的事情,因爲您需要忽略單詞末尾的數字 - 有時。不可信的可以取代'不可思議的',儘管不可信的不是一個字。
1
如果您檢查http://howsecureismypassword.net的代碼,您可以看到密碼與大量常用密碼進行比較。
在頁面上threre是對頁面http://xato.net/passwords/more-top-worst-passwords/的引用,其中列出了前10.000個最常用的密碼。
一種方法是下載該列表並檢查用戶密碼,或至少對其中的前100個用戶密碼進行檢查。
+0
這真的很酷。 –
相關問題
- 1. 強制密碼要求
- 2. 如何實現這些需求
- 3. css/javascript - 如何實現這些不尋常的設計要求?
- 4. 密碼強 - 不要求每個條件
- 5. 強制capistrano立即要求密碼
- 6. 使用django.contrib.auth.views.password_change實施密碼強度要求
- 7. 密碼強度實現ExtJS的
- 8. 如何爲這些要求構建HTML
- 9. 實施Windows服務 - 我如何滿足這些要求?
- 10. h5validate如何要求重複密碼
- 11. 如何讓Netbeans不要求主密碼?
- 12. 如何要求包含模型的類實現某些方法?
- 13. 如何實現這些github的例子?
- 14. 如何實現這些表請
- 15. 在沒有密碼時要求密碼
- 16. 我如何要求postgres登錄才能要求輸入密碼
- 17. 如何使ansible只在要求時要求成爲密碼
- 18. 滿足這些要求
- 19. 如何在需要實際密碼文本時存儲密碼
- 20. MembershipProvider.ValidateUser密碼編碼實現
- 21. .htaccess不要求密碼
- 22. 3/4密碼要求
- 23. 不要求保存密碼
- 24. Python密碼要求計劃
- 25. 密碼要求C#WPF
- 26. D2L用戶密碼要求
- 27. Roboform要求保存密碼
- 28. 如何實現密碼管理器的重置密碼
- 29. 在反應,我如何強制瀏覽器要求保存密碼?
- 30. 強制Facebook在使用OpenGraph時要求用戶密碼
嘖嘖,這是一個艱難的! :) – mortb
爲什麼不只是將自己的密碼分配給用戶,並且不讓他們更改它們,除非請求再次創建新密碼?我認爲用戶會很沮喪,當第一個說10個左右的密碼他們試圖選擇不會通過,並且他們會更少挫折,如果你只是給他們分配一些密碼,即使它不可能記住... – mortb
我同意。但顯然,破解我給出的例子並不需要很長時間。 http://howsecureismypassword.net/ –