密码符号,长度和'强度'

kbi*_*irk 3 security passwords probability permutation

注意:这与编程没有明确的关系,但我希望这可以从程序员的角度来解释.

关于当前的"密码强度等级",有两件事我根本不理解.这一切都与蛮力进入有关.(如果这些'密码强度等级'与任何其他类型的违规行为有关,除了使用普通/流行密码,请告诉我).

1)如果我包含数字/符号/大写字母,只要密码系统允许使用它们,为什么重要?

例如,我们只想说:

a)系统接受的字符是az,AZ,0-9,以及它们的"移位值"'!' 到')',所以72个可能的符号.

b)我使用长度为10的密码,因此有72 ^ 10种可能性.

c)我的密码不在最常用的10,000个常用/热门密码中.因此剩下72 ^ 10 - 10,000个可能性.

像'sndkehtlyo'这样的全小写密码不会与'kJd $ 56H3di'具有相同的强度,因为它们都有相同的可能性来包含其他字符吗?无论我是否使用它们,蛮力算法都不必包括那些数字/符号/大写字母吗?似乎这些评级系统认为暴力尝试将首先尝试所有26 ^ n小写密码,所有52 ^ n密码秒,然后所有62 ^ n密码等等.

2)为什么这甚至重要?我还没有遇到任何密码系统,在经过一些小的固定尝试次数(通常为5次)之后,它们不能锁定你.如今蛮力的方法怎么可能会起作用呢?

我觉得我错过了一些有趣的东西.

Fog*_*zie 7

1)破解密码不需要一次性完成.一个良好实现的强力破解可以首先通过小范围的字符迭代,然后进入大写和数字.从最简单的范围开始(可能只是小写的az)将找到那些不幸的密码以构造一个密码.它们也可能首先使用字典攻击或大多数常见密码使用的攻击,因为它们只占用很少的时间.

2)通过某些在线服务的登录提示,破解者不会暴力破解.任何真正想要访问帐户的人都会检索用户密码的哈希并在自己的机器上破解,而不是通过互联网.虽然有几乎无限的方法来散列密码,但有一些非常常见的方法可以通过诸如散列字符长度之类的属性来识别.您可以在此Wikipedia文章中阅读有关常见哈希算法的更多信息.