SHA256 哈希值与比特币维基上列出的不匹配

SHA256 Hash doesn't match the one listed on Bitcoin Wiki

我正尝试按照 here 所示的步骤创建比特币地址。但是,我得到的哈希与步骤 2 中显示的不同。

正在计算 SHA256 哈希:

0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352

给我输出:

a9ce83de3a0ff3516b7c50cdd787e9f69f152f227d93c9512774231e7132e925

问题是根据比特币 wiki 我应该得到以下哈希值:

0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98

有人可以解释为什么我没有得到与 wiki 相同的哈希值吗?

您将 0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352 视为 ascii 字符串,而您应该将其视为 32 字节的十六进制表示形式。

如果将其用作字符串,您将得到:

echo -n "0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352" | openssl sha256
(stdin)= a9ce83de3a0ff3516b7c50cdd787e9f69f152f227d93c9512774231e7132e925

如果将其视为字节,则会得到正确的结果:

echo -n "0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352" | xxd -p -r | openssl sha256
(stdin)= 0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98