计算SHA256树形哈希的工具


13

我已经开始使用AWS Glacier,并且注意到它使用称为SHA-256 Tree Hash的算法对文件进行哈希处理

令我惊讶的是,这种算法是 不同于SHA-256,因此我无法使用我惯用的工具来比较散列并验证文件完整性。

您是否知道Windows工具(如果可能的话)集成在上下文菜单中,用于计算 SHA-256树形哈希

我还接受Linux命令行工具作为第二选择:-)


stackoverflow.com/questions/12058011/…解释了什么是SHA-256树形哈希,但是我不知道有任何现成的程序可以做到这一点。
DerfK 2012年

1
有效提出产品建议的问题对于ServerFault而言是不在主题范围内的。请访问:blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping
麦哲伦

@Adrian谢谢。但是我已经阅读了该链接,但是看不到它与我的问题之间的关系。我并不是在寻找最好的工具来完成这项工作,而是要寻找是否存在这样的工具以及在哪里找到它。无论如何,我已经找到了问题的答案,所以不用担心。
本杰明·

“是否存在以及在哪里找到它”部分是什么使它成为“购物”问题。如果您对它的工作方式有任何疑问,我绝对鼓励您访问Meta.Serverfault并在那里咨询。
麦哲伦(Magellan)2012年

如果问题提炼为“我正在寻找具有$ FEATURES的$ PRODUCT”,那么这是一个购物问题。这是“我正在寻找具有SHA-256树形哈希功能的实用程序 ”。
克里斯·S

Answers:


11

经过更多研究后,SHA-256 Tree Hash的概念似乎是Amazon Glacier特有的,因此很难找到任何支持它的工具。

但是,Glacier文档提供了使用Java和C#计算Hash的示例代码。两者都编译成一个命令行工具,该工具计算作为参数给出的文件的哈希值。

我只是将C#代码复制并粘贴到免费的Visual C#2010 Express中,对其进行了编译,现在有了所需的命令行工具!


2
仅供将来参考。还有一个可以安装并用于计算SHA2-256 treehash总和的Ruby gem:github.com/erichmenge/treehash
obaqueiro

1
AWS树哈希仅仅是具有SHA-256 的Merkle树吗?
David Ehrmann

2
我创建了一个Docker映像来运行以下示例代码:hub.docker.com/r/ggarnier/glacier-sha256-tree-hash
Guilherme Garnier

这是一个Java存储库,用于实现AWS文档中的示例代码:github.com/davesque/treehash。只需克隆存储库,确保已安装Java SDK,然后make在命令行中执行即可。然后运行treehash <file1> <file2> ...
大卫·桑德斯

1
这里是使用openssl的纯bash实现:github.com/tkb-/glaciertools
user1587520 '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.