当考虑密码和密码的强度(或安全性)时,有些密码可以有任意一种字母、数字数字、标点符号、算术运算符和任何其他字符的混合字母,而有些密码和密码只有一种字母,它们的长度更长,大约有多长时间被认为是相同的(或安全的)?有什么明确的规则来计算强度吗?实际使用的字符类型与特定情况允许使用的字符类型比较如何?哈希的强度会影响将要使用的字符集的考虑吗?Unicode或homoglyphs的使用会影响这一考虑吗?
16字密码只由小写英文字母组成,会否被视为与由英文字母、数字数字和特殊字符组成的8个字符密码一样强?单独使用较长密码的字母是否能像有数字和特殊字符的字母一样强?
发布于 2018-08-14 00:53:06
是的,您正在循环的概念是“在这些规则下存在多少个可能的密码?”,它被正式称为“密码空间”。
计算给定一组规则的密码空间有多大的公式非常简单:
(num_allowed_symbols) ^ (password_length)
你的例子:
26 lowers + 26 uppers + 10 digits + 16 specials = 78 characters
,因此78 ^8= 1.4x10^15可能的密码lowers
和lowers, uppers, digits, specials
的密码空间。但在我们对这些数字太兴奋之前..。
以上可能的密码数量只有在每一个可能的密码都同样有可能被选择的情况下才能作为安全的衡量标准。根据我的经验,这是不正确的,因为graycat123
是比h&9R#d3*ng
更常见的密码(如果使用整个unicode空间,也可以使用ǨΞᾃЯ ҉ℒⵞ௵ޘ↡╤
,但不要问我如何在安卓键盘上输入!)
这很快就形成了心理学和用户习惯,我们经常看到stats 像这样:
SplashData估计,近10%的人至少使用了今年名单上25个最差密码中的一个,近3%的人使用了最糟糕的密码,123456。
这就是为什么你会看到越来越多的网站在更改密码框旁边提供“密码强度表”--这些网站会根据普通列表检查你的密码,查找字典单词,寻找键盘模式等等。这些表比长度更能衡量密码强度,因为人们不善于选择密码。
更好的方法是使用密码管理器,让机器选择您的密码,这样h&9R#d3*ng
就像graycat123
一样有可能出现。如果您想要可以记住的密码,那么一个很好的选择就是使用迪克瓦尔技巧提供密码。
https://security.stackexchange.com/questions/191520
复制相似问题