SHA256 Hash не совпадает с тем, что указано в Bitcoin Wiki - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать адрес биткойна, выполнив шаги, показанные здесь . Однако я получаю хеш, отличный от того, который показан на шаге 2.

Расчет хэша SHA256 по:

0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352

Дает мне вывод:

a9ce83de3a0ff3516b7c50cdd787e9f69f152f227d93c9512774231e7132e925

Проблема в том, что согласно биткойн-вики я должен получить следующий хеш:

0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98

Может кто-нибудь объяснить, почему я не получаю тот же хеш, что и вики?

1 Ответ

0 голосов
/ 17 ноября 2018

Вы рассматриваете 0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352 как строку ascii, тогда как вы должны рассматривать ее как шестнадцатеричное представление 32 байтов.

Если вы используете ее как строку, вы получите:

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

Если вы рассматриваете это как байты, вы получите правильный результат:

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