3

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

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

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

4

5 回答 5

5

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

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

于 2011-11-08T10:34:56.507 回答
1

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

于 2011-11-08T10:34:29.760 回答
1

如果(某些)银行(或其他大公司)真的存储了纯文本密码,或者 ROT13 的密码,甚至是双 ROT13 的密码,那就不足为奇了……

于 2011-11-08T10:54:42.300 回答
0

在开放论坛上讨论这可能不是一个好项目,但是如何阻止他们将您选择的字符插入到记忆中,在适当的位置保存、解密、复制您难忘的短语或单词、对其进行加密并执行二进制比较结果呢?

于 2011-11-08T10:33:39.190 回答
0

他们可以很容易地保留单个字符的 HASH,不是吗?

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

于 2011-11-08T10:35:19.753 回答