当我输入我的超级用户权限密码或登录到我的Linux计算机时,如果我输入正确,它会立即返回并授予我访问权限。但是,如果我打错了一些字母,就会等待很长时间才告诉我密码不正确。通常,在计算机意识到之前,我已经知道自己搞砸了。
为什么会这样呢?据我所知,用户密码被加密并存储在/etc/shadow
中,因此我的输入似乎只需要被加密并与该文件中我的用户名的内容进行比较——无论我输入正确的密码还是错误的密码,这个过程应该大致相同。是否有某种算法原因,比如它必须在确认密码不正确之前检查一堆额外的地方?或者系统知道它是一个错误的密码,但必须做很多工作来跟踪错误的登录尝试。或者只是想惩罚我犯错。