sha256 – 比特币地址生成

bitcoin wiki说:

如何创建比特币地址

0 – 拥有私人ECDSA密钥

18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

1 – 获取随其生成的相应公钥0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

2 – 对公钥执行SHA-256哈希处理

600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

但是当我在0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6上运行sha256时

我没有

600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

我得到的是

32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

我究竟做错了什么?

解决方法

将十六进制字符串转换回字节,并将字节转换为sha256.

像这样的东西:

>>> hex_string = ('0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6')
>>> hex_data = hex_string.decode('hex')
>>> hashlib.sha256(hex_data).hexdigest()
'600ffe422b4e00731a59557a5cca46cc183944191006324a447bdb2d98d4b408'

相关文章

文章浏览阅读903次。文章主要介绍了收益聚合器Beefy协议在币...
文章浏览阅读952次。比特币的主要思路是,构建一个无中心、去...
文章浏览阅读2.5k次。虚拟人从最初的不温不火,到现在步入“...
文章浏览阅读1.3k次,点赞25次,收藏13次。通过调查和分析用...
文章浏览阅读1.7k次。这个智能合约安全系列提供了一个广泛的...
文章浏览阅读1.3k次。本文描述了比特币核心的编译与交互方法...