密码哈希:这是一种避免冲突的方法吗?

时间:2011-05-29 23:49:58

标签: security hash passwords

我正在考虑使用2个键来散列每个用户密码,获得2个不同的哈希值。这样,除了实际密码之外,(几乎?)找不到有效的密码是不可能的。

是吗?值得吗?

3 个答案:

答案 0 :(得分:7)

要学习的一条重要规则是“永远不要试图发明自己的密码术”。你最好浪费时间,最糟糕的是引入安全漏洞。

如果您不确定自己是否是此规则的例外,那么您就不例外。

密码哈希的设计者已经担心碰撞,所以你没必要这样做。只需选择一个(SHA-256是一个不错的选择)并将精力集中在应用程序的其余部分上。

答案 1 :(得分:6)

您可以使用SHA256作为散列算法。到目前为止没有发现任何冲突,并且将来很难看到密码上的任何冲突。

答案 2 :(得分:5)

你可以使用更长的哈希值。例如,SHA-512是512位,并且(假设它是均匀的)远远不像SHA-256那样冲突。但就个人而言,我并不担心。大多数密码本身少于32个字节(256位),因此与SHA-256发生冲突的概率极低。