基于传入数据生成默克尔树的流
项目描述
merkle-tree-stream
基于传入数据生成默克尔树的流
哈希树或默克尔树是一种树,其中每个叶子节点标记为数据块的哈希,每个非叶子节点标记为其子节点标签的加密哈希。Dat中的默克尔树是特殊的平面树,包含存档的内容。
安装
$ pip install merkle-tree-stream
示例
import hashlib
def _leaf(node, roots=None):
return hashlib.sha256(node.data).digest()
def _parent(first, second):
sha256 = hashlib.sha256()
sha256.update(first.data)
sha256.update(second.data)
return sha256.digest()
merkle = MerkleTreeGenerator(leaf=leaf, parent=parent)
merkle.write(b"a")
merkle.write(b"b")
assert len(merkle) == 2 + 1