gpt4 book ai didi

c++ - 使用 Cityhash 确保文件完整性

转载 作者:太空狗 更新时间:2023-10-29 23:17:24 32 4
gpt4 key购买 nike

问题是我想使用散列函数来检查文件完整性,这里加密是不必要的,所以我认为非加密散列 cityhash 可能是一个不错的选择,因为我想要的只是速度和更少的冲突。

虽然 source刚刚为 cityhash 函数提供了固定长度的字符串作为输入和哈希码作为输出。那么如何使用该函数对文件进行哈希处理呢?

我可以将文件分成几个 block ,计算每个 block 的哈希码并对每个哈希码进行异或吗?会不会影响碰撞效率或者速度?你还有什么好的想法吗?

最佳答案

这不是 CityHash 的合适应用,以这种方式使用时它会表现出较差的抗碰撞性。

如果您想要快速的文件完整性校验和,请使用 CRC 系列函数,例如 CRC16。如果你想要更广泛的东西,像 SHA1 这样的加密散列的速度应该绰绰有余。 (几乎任何现代 CPU 散列数据的速度基本上与从内存中读取数据的速度一样快。)

关于c++ - 使用 Cityhash 确保文件完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18317115/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com