performance - SHA-1 附近具有碰撞可能性的快速散列函数

标签 performance hash sha murmurhash

我正在使用 SHA-1 来检测程序处理文件中的重复项。它不需要加密强并且可能是可逆的。我找到了这个快速散列函数列表 https://code.google.com/p/xxhash/

如果我想要在 SHA-1 附近的随机数据上获得更快的函数和碰撞,我应该选择什么?

也许 128 位哈希值足以进行文件重复数据删除? (与 160 位 sha-1 相比)

在我的程序中,哈希是在 0 - 512 KB 的块上计算的。

最佳答案

也许这会帮助你:
https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed

collisions rare: FNV-1, FNV-1a, DJB2, DJB2a, SDBM & MurmurHash



我不知道 xxHash 但它看起来也很有希望。

MurmurHash 非常快,版本 3 支持 128 位长度,我会选择这个。 (在 Java 和 Scala 中实现。)

关于performance - SHA-1 附近具有碰撞可能性的快速散列函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28660441/

相关文章:

performance - 使用计数器是一种好习惯吗?

sql-server - 计算 UTF8 字符串的 MD5 哈希值

security - 提高 MD5 哈希安全性的有效方法是什么?

java - 将字符串转换为 Sha-256 哈希值

c++ - 散列重定向的 DOS 输出

jQuery:通过从变量中选择元素来减少 DOM 遍历?

asp.net - 使用多个子域会加快我的网站速度吗?

c++ - C++中MD5的快速实现

rust - 如何将 crypto::sha2::Sha256 哈希转换为 &[u8] 表示形式?

javascript - call 和 apply 和有什么不一样?