答案 0 :(得分:1)
嗯,首先你需要准确定义你想要的东西。什么是键盘模式? 'jk'是键盘模式,还是只是'jkl'?有什么最短的模式? 'gy'是一种模式吗?首先,您需要真正定义模式。
然后你应该列出所有可用的模式(没有那么多。你有36个起点和4个方向从每个起点开始)。获取密码后,尝试找到其中的每个模式。请注意,如果您确定最短的图案长度为3个字母,则无需搜索4个字母的图案,所有4个字母的图案都已包含3个字母的图案。
至于单词,这更容易,但首先你需要列出所有不允许的转换($ - > S,1-> i等等)。一旦你得到一个单词,应用所有的变换,并获得一个“标准化”的单词。将规范化密码与所有合法字词的字典进行两次比较 - 第二次反转密码。
您可能需要做一些比这更复杂的事情,因为您需要忽略单词末尾的数字 - 有时。 1ncredible可以替代'令人难以置信',虽然ncredible不是一个词。
答案 1 :(得分:1)
如果您检查http://howsecureismypassword.net的代码,您可以看到密码与大量常用密码进行比较。
在页面上,是一个对http://xato.net/passwords/more-top-worst-passwords/页面的引用,该页面列出了最常见的10,000个密码。
一种方法是下载该列表并检查用户的密码或至少一些前100名。