我看到一些网站,尤其是银行网站,会要求你输入这些(例如)。有时他们要求我通过电话证明身份。
- 您的密码的第二个字符
- 您的密码的第五个字符
- 您的密码的第六个字符
是的,即使不持有您密码的明文版本,这个方法也能够发挥作用。在您最初设置密码时,银行会对其可能要求的各种组合进行哈希处理,并存储这些哈希值。无论您使用的是固定长度的密码(如PIN码)还是可变长度的密码,这种处理都非常简单。这些哈希值可以存储在与用户相关的表格的一系列预设列中,或者存储在一个简单的三列表格中 - ID(主键)、UserId和Hash,其中每个包含 n 个字符的密码组合都有一行。
不过,我对于这种方法的有效性存在疑虑,是否有人对此有评论?
如果(某些)银行(或其他大公司)确实存储明文密码、ROT13编码的密码,甚至是双重ROT13编码的密码,这并不会让人太吃惊...
这可能不是在公开论坛上讨论的好话题,但是有什么能阻止他们将您选择的字符插入到一个保存、解密、复制您记忆中短语或单词的内存中,并在适当位置进行加密并对结果执行二进制比较呢?
他们同样可以轻松地保留单个字符的哈希值,不是吗?
实际上,您并不一定要使用单向哈希。如果您确信密钥是安全的,您同样可以使用双向密码。在这种情况下,他们可以轻松地将密码保留在无法从网络访问的系统上。