gpt4 book ai didi

sha1 - 如何在对象树上创建 SHA1 摘要?

转载 作者:行者123 更新时间:2023-12-04 06:52:30 26 4
gpt4 key购买 nike

假设我有一棵对象树,其中每个对象都有一个字符串表示。我想在整棵树上创建一个 SHA1 摘要。

最简单的方法是递归遍历树的每个节点。对于每个节点,我将连接(作为简单字符串)所有子节点的 SHA1 摘要,将给定节点的字符串表示添加到这个连接的字符串中,并对其执行 SHA1。这将是给定节点的 SHA1 摘要。

问题是这个摘要是否会像我连接子节点的字符串表示而不是子节点的摘要一样“好”?

谢谢

最佳答案

假设您可以选择一个从不允许出现在节点标签中的 Unicode 字符。

然后,您可以使用流 API(如 Java MessageDigest)类以树顺序提供所有标签,并在其间插入保留的定界符。

最后,您将获得一个相对紧凑的摘要,而无需支付额外的 SHA 计算级别。

编辑

上面的方案不太正确,但是,同样,原始问题也不是,因为它没有对树的结构进行编码。代码需要为每个节点构造某种比遍历顺序更强的 ID,并将其包含在节点的哈希输入中,以便具有不同形状但相同标签的树不会具有相同的哈希值。

如果树顺序很重要但精确结构不重要,则答案中的原始方案有效。

关于sha1 - 如何在对象树上创建 SHA1 摘要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921894/

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