Sha256带管

时间:2013-08-10 04:52:18

标签: shell sha256 bitcoin

手册第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错了吗?

1 个答案:

答案 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