This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129ENCPDT:SHA-256结果与 openssl SHA256和在线计算器不同

Guru**** 2235160 points
Other Parts Discussed in Thread: SHA-256
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/815848/tm4c129encpdt-sha-256-results-differ-from-openssl-sha256-and-online-calculators

器件型号:TM4C129ENCPDT
主题中讨论的其他器件:SHA-256

我可能做了一些错误、但如果我将相同的数据馈送到 TM4C SHA/MD5外设和另一个参考 SHA-256实现(如 openssl)中、结果会有所不同。

如果我创建了一个包含"现在是所有优秀人员来帮助他们所在国家/地区的时候了。\n"并将其输入到"openssl SHA256 -binary test.txt > test.SHA256"、则结果是:

00000000 f0 b4 34 EC 0e d6 18 4F C8 84 4c 7f E4 da BD cc |..4.... O.L..... |

00000010 9f 66 76 bc A1 3f 18 87 79 24 F7 A3 00 6c 1e 8e ||

但是、馈送到 TM4C 中 SHA-256模式外设的相同数据会导致:

SHA2:34F85BD52F2FFDC96E6F2CA5255A30C3E46214C923B3222F94D8DAC695C64791

对于与原始 SHA-256计算不同的 openssl SHA256摘要、是否有什么不同之处? SHA256哈希计算器 产生的结果是否与 openssl 相同、这只是巧合吗? 是否可能打印出 SHA 结果不正确? (我每次打印一个字节、使用十六进制、而不是一次打印一个字)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brian、

    似乎其他客户注意到 TM4C 计算 SHA 256哈希的方式与在线工具略有不同。 这篇文章谈到了这一点、Amit 发布了一个示例、根据该工具计算该值: https://e2e.ti.com/support/microcontrollers/other/f/908/p/375927/1364965#1364965

    您能否检查这是否足以获得您想要的结果?

    如果没有、我将在星期一回到办公室时更详细地了解这一点。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ralph、

    另一个讨论涉及 HMAC、在这里可以提供种子。 显然、提供不同种子会产生不同的散列。 我正在使用普通 SHA-256、并且没有在 SHA/MD5外设配置中设置 HMAC 位。 因此、我假设最终散列值应该大致相同、因为外设为散列开始提供了常量。

    `、我在这里展示了我的无知、因为我不知道标准`openssl`和`s具有-a 256命令是否使用 HMAC。 我必须更深入地探究这些外部工具。

    同时、您是否有关于 TM4C 外设和其他实现之间是否可以预期非 HMAC SHA-256哈希结果匹配的信息?

    谢谢、

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    哎呀! 这是我的错误。 我的 C 字符串包括终止 NULL、与`openssl`和`shasum`使用的文件相比、该字符串改变了哈希值、而这些文件没有任何 NULL 字符。

    我很小心地确保回车符和换行符在我的各种测试数据之间匹配、但我忽略了 sizeof (string)包含 NULL 这一事实。

    我现在已经确认了 TM4C SHA/MD5外设的哈希结果与 SHA-256的其他实现完全相同。

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brian、

    有时细节上会有问题:)。

    我不会马上想到这一点、很高兴您抓住了它、因为我有点担心非 HMAC 结果不匹配的原因。

    感谢您的快速跟进!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    (笑声) 感谢您成为周末勇士、并在周六回复。 我很感谢我看到这份回复、但直到早上才有机会访问我的工作计算机。