哪个哈希值与原始数据的修改成比例变化?

时间:2014-07-05 16:51:27

标签: hash

例如,如果原始数据中只有一个位发生了变化,MD5哈希值会发生很大变化。因此散列'a'(01100001)和'b'(01100010)将导致哈希0cc175b9c0f1b6a831c399e269772661和92eb5ffee6ae2fec3ad71c777531578f没有任何共同之处。但是我正在寻找一个根据原始数据中已更改位的位置而改变的哈希值。

例如,我需要这两个句子来获取哈希:

The quick brown fox jumps over the lazy dog
The quick brown box jumps over the lazy dog

区别在于第43个字符中的第43个字符。这意味着如果我们计算一些长度为10的哈希值,那么它们看起来像这样:

a8f5f167f4
a8f4f167f4

这样我知道两个原始句子之间有轻微的变化,我知道这是大概的位置。

我可以简单地将原始句子分成10个块,用零填充最后一个块。然后我可以将数据相加并将其转换为base36,然后获取结果的模数。然而,如果已经存在可以处理这种情况的东西,重新发明轮子将毫无意义。

P.S。这意味着用于计算两个文本字符串之间的Levenshtein距离的简化,每个文本字符串可以是每秒10或10,000个字符长度。我需要一种快速的方法来检查消息1是否与消息2类似,大约是多少。

0 个答案:

没有答案