SHA还有一个重要特征,那就是局部不敏感的。假设你有一个字符串,并计算了其散列值。

如果你修改其中的一个字符,再计算其散列值,结果将截然不同!

这很好, 让攻击者无法通过比较散列值是否类似来破解密码。

有时候,你希望结果相反,即希望散列函数是局部敏感的。在这种情况下,可使用Simhash。如果你对字符串做细微的修改, Simhash生成的散列值也只存在细微的差别。这让你能够通过比较散列值来判断两个字符串的相似程度,这很有用!

  • Google使用Simhash来判断网页是否已搜集。
  • 老师可以使用Simhash来判断学生的论文是否是从网上抄的。
  • Scribd允许用户上传文档或图书,以便与人分享,但不希望用户上传有版权的内容!这个网站可使用Simhash来检查上传的内容是否与小说《哈利·波特》类似,如果类似,就自动拒绝。

需要检查两项内容的相似程度时, Simhash很有用。

results matching ""

    No results matching ""