密码为什么越长越安全:暴力破解的数学账
不少人设密码只求好记:生日、123456、六个相同的数字。这样的密码问题不在好不好记,而在于留给别人猜的空间太小了。暴力破解的办法很直白,就是把所有可能的组合挨个试一遍,试中了就算成功。密码越短、用的字符越少,可能的组合就越少,试完一整轮花的时间就越短。
这笔账其实不难算。只用数字的话,每一位有 10 种可能,六位密码就是 10 的 6 次方,一共 100 万种组合。听着不算少,可对电脑来说只是个小数字。换成六位小写字母,每位有 26 种可能,组合数是 26 的 6 次方,大约 3.09 亿种,比纯数字多了几百倍,但仍然在可以试完的范围里。
关键在“每加一位,就乘一次”。长度增加一位,可能的组合数就乘上每位的字符种类数。同样是小写字母,八位是 26 的 8 次方,约 2088 亿种,是六位的 676 倍左右。再把大小写字母和数字混在一起,每位有 62 种可能,八位大约 218 万亿种,十二位则到了约 3.2 乘以 10 的 21 次方,数字大到已经很难直观想象。这就是“越长越安全”的数学根源:长度带来的增长是指数级的,不是线性的。
不过真实世界里,攻击者并不会老老实实从第一个组合试到最后一个。他们会先试最常见的密码、字典里的词、网上泄露过的密码,再试生日、名字这类和人有关的信息。所以“长”只是第一道防线,还得避开这些捷径:别用纯生日、纯电话、连续数字,也别把同一个密码到处用,一个网站泄露了,其他地方就跟着危险。
还有一点要说清楚:密码长度防的是“试出来”,防不住“骗出来”。钓鱼网站、木马程序、别人直接看你输入,这些都跟密码长短没关系。再长的密码,被骗走一次也就没用了。所以长密码要配上别的做法:重要账号开双重验证,不同网站用不同密码,实在记不住就用密码管理器帮忙记,别让同一串字符走天下。
那到底多长才够用?并没有一个放之四海而皆准的数字,但方向是清楚的:先把长度加上去,再把种类混起来。一个由几个不相关的词拼成的长口令,往往比一串难记的短密码更安全,也更好记。长度是性价比最高的投入,每加一位,破解的代价就翻好几倍。
简单说,密码安全的核心就两句:字符种类越多、长度越长,可能的组合就指数级变多,暴力破解就越不划算;但再长的密码,也别是常见的那几个,也别到处复用。记住这笔数学账,下次设密码就知道该往哪使劲了——不是纠结某个字符够不够怪,而是先把长度加上去。
- 点赞
- 收藏
- 关注作者
评论(0)