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

Con*_*ell 3 database passwords password-storage

我见过一些网站,尤其是银行网站,要求您输入此信息(例如)。有时他们会要求通过电话证明我的身份。

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

要做到这一点,散列算法不起作用,是吗?肯定应该像银行一样安全的东西有办法存储不可解密的密码吗?

slu*_*ter 5

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

我对这种方法在询问整个密码方面的有效性表示怀疑......也许有人对此发表评论?