手册第5-6步: https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses
其次计算sha256sum:
5 - 对扩展的RIPEMD-160结果执行SHA-256哈希 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094
6 - 对前一个SHA-256哈希的结果执行SHA-256哈希 D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30
我尝试重复步骤6,但sha256sum错了:
# echo -n 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094 | sha256sum
7760845dcfd8c366ae89620be2f368d255d710bc7493628ca0dcded9ca476e5a -
# echo -n 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094 | openssl sha256
(stdin)= 7760845dcfd8c366ae89620be2f368d255d710bc7493628ca0dcded9ca476e5
即使这也错了:
# echo 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094 | openssl sha256
(stdin)= 9edec8be4a03dd9e605f465c60ae4c77c752516f58384016c6c7384028b39f6e
我读过这个: Generating a sha256 from the Linux command line
如何获得:D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30?
wiki错了吗?
答案 0 :(得分:1)
您需要散列原始字节数据而不是其ASCII十六进制转储。
$ echo -n $'\x44\x5C\x7A\x80\x07\xA9\x3D\x87\x33\x18\x82\x88\xBB\x32\x0A\x8F\xE2\xDE\xBD\x2A\xE1\xB4\x7F\x0F\x50\xBC\x10\xBA\xE8\x45\xC0\x94' | sha256sum
d61967f63c7dd183914a4ae452c9f6ad5d462ce3d277798075b107615c1a8a30 -
$ echo -n $'\x44\x5C\x7A\x80\x07\xA9\x3D\x87\x33\x18\x82\x88\xBB\x32\x0A\x8F\xE2\xDE\xBD\x2A\xE1\xB4\x7F\x0F\x50\xBC\x10\xBA\xE8\x45\xC0\x94' | openssl sha256
(stdin)= d61967f63c7dd183914a4ae452c9f6ad5d462ce3d277798075b107615c1a8a30