构建 Bech32 地址
Constructing Bech32 addresses
我正在尝试按照此处 https://en.bitcoin.it/wiki/Bech32 的步骤生成有效的 bech32 地址。我卡在了第一步:
- Having a compressed public key (0x02 or 0x03 followed by 32 byte X coordinate):
0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
- Perform SHA-256 hashing on the public key:
0f715baf5d4c2ed329785cef29e562f73488c8a2bb9dbc5700b361d54b9b0554
这是我尝试过的方法之一:
>>> import hashlib
>>> m = hashlib.sha256()
>>> m.update('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798')
>>> m.hexdigest()
'd13c888cfd35d6ab67dc3f67edcc401833e6ae4eec20b254b1981b187946ed91'
注:
- 我仅限于 python 2.7.18
- 我制作这些地址是为了测试目的,实际使用时不需要它们,但应该有效
- 如果您知道如何执行步骤 3+,请也分享它们:)
- 这里有一个推定的参考实现:https://github.com/fiatjaf/bech32/blob/master/bech32/__init__.py,但我无法理解它的正反面......它似乎与描述的过程完全不同。
您似乎在对二进制的字符串表示形式进行哈希处理,而不是对二进制流本身进行哈希处理。不确定在 Python 2.7 中最符合 pythonic 的方法是什么,但是您可以通过以下方式获得所需的内容:
import hashlib
str_of_key = '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'
hashlib.new('sha256', str_of_key.decode('hex')).hexdigest()
供参考,有关.decode('hex')
的相关问题:
我正在尝试按照此处 https://en.bitcoin.it/wiki/Bech32 的步骤生成有效的 bech32 地址。我卡在了第一步:
- Having a compressed public key (0x02 or 0x03 followed by 32 byte X coordinate): 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
- Perform SHA-256 hashing on the public key: 0f715baf5d4c2ed329785cef29e562f73488c8a2bb9dbc5700b361d54b9b0554
这是我尝试过的方法之一:
>>> import hashlib
>>> m = hashlib.sha256()
>>> m.update('0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798')
>>> m.hexdigest()
'd13c888cfd35d6ab67dc3f67edcc401833e6ae4eec20b254b1981b187946ed91'
注:
- 我仅限于 python 2.7.18
- 我制作这些地址是为了测试目的,实际使用时不需要它们,但应该有效
- 如果您知道如何执行步骤 3+,请也分享它们:)
- 这里有一个推定的参考实现:https://github.com/fiatjaf/bech32/blob/master/bech32/__init__.py,但我无法理解它的正反面......它似乎与描述的过程完全不同。
您似乎在对二进制的字符串表示形式进行哈希处理,而不是对二进制流本身进行哈希处理。不确定在 Python 2.7 中最符合 pythonic 的方法是什么,但是您可以通过以下方式获得所需的内容:
import hashlib
str_of_key = '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'
hashlib.new('sha256', str_of_key.decode('hex')).hexdigest()
供参考,有关.decode('hex')
的相关问题: