SHA256哈希与比特币Wiki上列出的不匹配

时间:2018-11-17 13:54:11

标签: encryption bitcoin sha256

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

在以下位置计算SHA256哈希值:

0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352

给我输出:

a9ce83de3a0ff3516b7c50cdd787e9f69f152f227d93c9512774231e7132e925

问题是根据Bitcoin Wiki的,我应该获得以下哈希值:

0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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