0

我知道像 md5 这样的哈希函数可以用来判断两个文件(或数据集)是否相似。即使更改单个位也会更改任何文件的哈希值。在比较两个哈希函数时,除了这些信息之外,还有其他信息,例如两个文件的不同程度或更改的位置。是否有任何哈希函数可以用来获取这些信息

4

1 回答 1

1

如果散列函数是加密安全的,则无。

如果您看到来自两个文件的两个哈希值,您唯一可以判断的是这些文件是否完全一致、逐位、相同(相同的哈希值)。

散列函数的一些属性是散列的任何最后一位取决于消息的多个位,并且消息中单个位的更改将导致完全不同的散列,以至于第二个散列不能被区别于任何其他可能的散列。

即使使用像 md5 这样的有点易受攻击的哈希函数,攻击者可以做的主要事情是创建第二个文档哈希到相同的最终哈希(冲突)。并没有真正推断出两个文档的相关性。为此,散列函数必须非常弱。

于 2014-12-03T11:43:26.963 回答