我正在寻找the wikipedia article for hash trees,我对他们的图表感到有些困惑。
叶子节点显然包含基础数据的哈希值。
哈希树中的叶节点是否与任何非叶节点不同?非叶子节点是否包含数据散列,或散列哈希?
鉴于此图:
其中哪一个是Hash 1
哈希?
Hash 1-0
+ Hash 1-1
Data block 002
+ Data block 003
或者哈希树根据应用程序(rsync,P2P网络,Git等)根本不同?
答案 0 :(得分:1)
这是维基文章所说的:
树中更高的节点是它们各自的哈希值 儿童。例如,在图片中,散列0是散列的结果 哈希0-0然后哈希0-1。也就是说,
hash 0 = hash( hash 0-0 || hash 0-1 )
其中||表示连接。
但我确信开发人员可以自定义树和算法,使用不同的哈希函数等,针对不同的数据或速度或内存或其他任何方式进行优化。