-4

我想知道什么时候散列不是一个好方法。我知道散列函数可能很糟糕,但是是否有任何其他原因可以基于我们说这个问题或问题通过散列来解决是不好的。

4

2 回答 2

2

哈希可能会发生冲突(不能保证它们对于每个输入都是唯一的)。因此,如果您遇到不可接受哈希冲突的情况,则不应使用哈希。

相对于原始输入,散列通常也是无序的。也就是说,“1”的哈希值不能保证大于“2”的哈希值,等等。因此,如果您尝试对有序数据进行操作并保留顺序,则散列可能没有用。

最后(希望很明显),散列是有损的——你不能仅仅从散列中恢复原始的散列文本。因此,除非您有意采用一种方式(例如密码),否则它们不应完全替换原始数据。

于 2012-09-07T17:28:26.407 回答
0

裸散列可能会导致安全问题。例如,如果你 MD5 是一个通用密码,那么哈希值都是相似的,那么你就有一个重大的安全漏洞。

于 2012-09-07T17:30:49.487 回答