algorithm - TTTD分块算法中使用的哈希函数?

标签 algorithm hash

有人能告诉我在哪里可以找到 TTTD(双阈值二除数)基于内容的分块算法的实现吗?基本上我想知道这里使用的哈希函数?我无法在 Internet 上找到任何有用的链接。

最佳答案

TTTD chunking algorithm ,就像它所基于的基本滑动窗口分块算法一样,需要计算文件上每个 n 字节窗口的哈希值。

因此,为了获得最佳性能,最好选择一个散列函数,以便在窗口向前移动一个字节时有效地更新散列值。例如,如果窗口大小是 8 个字节,窗口的当前内容是 foobarba,下一个字节是 z,我们希望能够高效地计算 H (oobarbaz) 基于 H(foobarba)。

有几个rolling hash functions可用于此目的,但显然,如上面链接的 TTTD 论文中所述,通常的方法是 Rabin fingerprinting ,它基于有限域算法。我链接的维基百科页面提供了算法的简要概述,并包含指向其他 Material 的链接。

关于algorithm - TTTD分块算法中使用的哈希函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23994580/

相关文章:

ruby - 如何正确布局网格

perl - 为什么在 Perl 中访问数组和散列元素时需要 $?

php - 为什么 key 存储在 .env 文件中而不是 php 文件中?

c++ - 如何在 C++ 中将十六进制字符串转换为字节字符串?

algorithm - 除了 Fisher-Yates 和找到 "next permutation?"之外还存在哪些改组算法

c++ - 如何像 std::string 一样为自定义 std::basic_string<> 特化类定义哈希类?

perl - 键/值的分配顺序是什么?

security - 目前哪种哈希函数是密码的最佳选择?

r - 如何有效地确定每行中的变量值与R中data.table中相同变量后续行值之间的最大差异

algorithm - 使用 FLOOR 求解给定算法的递归方程