银行将密码存储为纯文本吗?

时间:2011-11-08 10:26:37

标签: database passwords password-storage

我见过一些网站,特别是银行网站,要求你输入这个(例如)。有时他们要求通过电话证明我的身份。

  • 密码的第二个字符
  • 密码的第5个字符
  • 密码的第6个字符

要做到这一点,哈希算法将不起作用,不是吗?当然,应该像银行一样安全的东西有办法存储不可解密的密码吗?

5 个答案:

答案 0 :(得分:4)

是的,这可以在不保留密码的纯文本版本的情况下工作。简单地说,当您最初设置密码时,银行将散列它将要求的各种组合,并存储这些哈希值。无论您是否具有固定长度的密码(即PIN号)或可变长度的密码,这都非常容易实现。这些哈希值可以存储在与用户相关的表中的预设系列列中,也可以存储为简单的3列表 - ID(主键),UserId,Hash,并且的每个组合都有一行密码中的个字符。

我怀疑这种方法相对于要求输入整个密码的效果......可能有人对此有评论吗?

答案 1 :(得分:1)

我想他们会有某种私钥系统用于解密(甚至可能是每个帐户的私钥,以提高安全性)......

答案 2 :(得分:1)

如果(某些)银行(或其他大公司)确实存储了纯文本密码,或者ROT13的密码,或者甚至是双ROT13,那就不会太令人惊讶了......

答案 3 :(得分:0)

这可能不是一个在开放式论坛上讨论的好项目,但是什么是阻止他们将你选择的角色插入存储,解密,复制你的令人难忘的短语或单词在适当的位置,加密和执行对结果进行二元比较?

答案 4 :(得分:0)

他们可以轻易地保留单个字符的HASH吗?

您实际上不必使用单向HASH。如果您确定您的密钥是安全的,您可以轻松使用双向密码。在这种情况下,他们可以轻松地将密码保存在无法通过网络访问的系统上。