【发布时间】:2011-05-29 23:49:58
【问题描述】:
我正在考虑使用 2 个密钥对每个用户密码进行哈希处理,从而获得 2 个不同的哈希值。这样一来,除了实际密码之外,(几乎?)不可能找到有效的密码。
对吗?值得吗?
【问题讨论】:
我正在考虑使用 2 个密钥对每个用户密码进行哈希处理,从而获得 2 个不同的哈希值。这样一来,除了实际密码之外,(几乎?)不可能找到有效的密码。
对吗?值得吗?
【问题讨论】:
要学习的一条重要规则是“永远不要尝试发明自己的密码学”。充其量只是在浪费时间,最坏的情况是引入安全漏洞。
如果您不确定自己是否是该规则的例外,那么您不是该规则的例外。
加密哈希的设计者已经担心冲突,所以您不必担心。只需选择一个(SHA-256 是一个不错的选择),然后将精力集中在应用程序的其余部分上。
【讨论】:
您可以改用 SHA256 作为散列算法。迄今为止未发现任何冲突,并且将来不太可能在 密码 上看到任何冲突。
【讨论】:
您可以使用更长的哈希值。例如,SHA-512 是 512 位,并且(假设它是统一的)远不太可能与 SHA-256 发生冲突。但就个人而言,我不会担心。大多数密码本身小于 32 字节(256 位),因此与 SHA-256 冲突的可能性极低。
【讨论】: