Go lang SHA3-256给出的输出无效?

Go lang SHA3-256给出的输出无效?,go,cryptography,Go,Cryptography,我面临的是goSHA3-256函数的奇怪结果: 这是 我在两个在线转换器上验证了结果,它们都给出了相同的结果,与我的结果不同。您假设您测试的在线转换器执行十六进制解码。他们没有;他们只需获取ASCII/UTF-8/字符串的任何值并使用该值,即对文本进行散列 通过输入c342…字符串,然后输入hello可以很容易地观察到这一点。两者都可以工作,而hello显然不包含十六进制。另一种方法是从大写的C开始,而不是C,这也将返回不同的结果,而十六进制解码应该返回相同的字节数组,从而散列 一个小型Java

我面临的是
go
SHA3-256函数的奇怪结果: 这是


我在两个在线转换器上验证了结果,它们都给出了相同的结果,与我的结果不同。

您假设您测试的在线转换器执行十六进制解码。他们没有;他们只需获取ASCII/UTF-8/字符串的任何值并使用该值,即对文本进行散列

通过输入
c342…
字符串,然后输入
hello
可以很容易地观察到这一点。两者都可以工作,而
hello
显然不包含十六进制。另一种方法是从大写的
C
开始,而不是
C
,这也将返回不同的结果,而十六进制解码应该返回相同的字节数组,从而散列

一个小型Java应用程序确实证实了您的价值:

8a3ccc097f854811f4c49346da9c3bd1745d087ed539fa7817960f3e0ed8a44f

请注意,大多数(如果不是所有的话)在线工具基本上都是业余密码学家的业余项目。预计在实现过程中会出现各种编码/解码问题、错误和不确定性。如果您想测试您的实现,请使用NIST官方测试向量。

您有问题吗?另外,请让您的问题独立。打印
sha3.Sum256([]字节(“c342dbf7cdd3096c4c3910c511a57049e62847dd”)的结果‌​5030c7e644bc855acc1f‌​d626”)
并看到相同的“不正确”结果hanks@Maarten Bodewes,完全忽略了字符串中的内容。
8a3ccc097f854811f4c49346da9c3bd1745d087ed539fa7817960f3e0ed8a44f