如何比较 Amazon Glacier 中的实际 SHA256 TreeHash 与预期 SHA256 TreeHash?

How do I compare actual vs. expectedd SHA256TreeHash in Amazon Glacier?

我正在从 Glacier 获取包含存档的 SHA256TreeHash 的存档信息。当我检索和下载档案时,我使用亚马逊网站 ( http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html#checksum-calculations-examples ) 上的 SHA256TreeHash 例程。来自存档信息的散列是一个字符串。来自例程的散列是一个字节数组(包含一些不可打印的字符)。我试过对hash进行base64,但是两者的结果相差很大

从存档检索作业返回:
a89877bebd71dcb73437d0faf099d1139a37dee09fd7a241302ff15dfaa62170

使用 Amazon 提供的散列下载文件例程返回: qJh3vr1x3Lc0N9D68JnRE5o33uCf16JBMC/xXfqmIXA=

如何将字节数组中的 treehash 转换为字符串哈希?

a89877be... 是字节的十六进制表示 0xa8 0x98 0x77 0xbe ....

从十六进制转换回字节,或 base64 解码并将字节转换为十六进制字符,你应该得到一些你可以比较的东西。实际上,上面的实际字节(从十六进制转换后)确实转换为以 qJh3....

开头的 base64 表示形式