我正试图解决一个密码系统的问题。我需要计算出密码被猜测的概率。
如果我有一个8个字符的字母数字密码。
不可能全是S,意思是它必须有一个字母,不能有字符的顺序(例如。abcdefgh或a1234567)它不能有"johnbook“这个词。
发布于 2011-10-25 21:36:11
一般来说,概率取决于范围的大小。所以,比方说,一个4个字符的密码,密码空间中可用字符的数量上升到密码中位置的幂。
例如,一个银行引脚-4位数字,10个字符(0-9) -1000个可能的密码,使概率1/10000。
现在您的问题更加困难了,因为您的范围不是所有可用的密码,您已经删除了一些高度可猜测的密码。你要做的就是弄清楚每条规则有多少潜在的密码被删除了,并确保你的规则重叠.例如,12345678既是序列,也是所有字符。然后取总密码空间,减去每条规则禁止的密码,确保不对给定类型的密码进行两次计数。
我不知道你所说的“它不能有"johnbook”这个词是什么意思,也许我太直白了--显然"johnbook“只是一个密码。你的意思是它不能有特定的词,或者它不能有任何已知的共同名称或短词组合?例如,"bethdesk“也被禁止了吗?被检查的字典的大小是多少,所有的单词组合都是被禁止的?您应该能够使用组合学来解决这个问题,但是您需要密码检查的算法或规则来知道这在多大程度上限制了密码空间。
此外,几乎所有的单词组合也将是一个“全字符”序列--那么您基本上消除了这一点吗,还是系统检查了明显的替换--比如"passw0rd"?
https://security.stackexchange.com/questions/8385
复制相似问题