gpt4 book ai didi

python - 计算丢失的比特币私钥的校验和比特币

转载 作者:行者123 更新时间:2023-11-30 16:37:29 25 4
gpt4 key购买 nike

这是我的故事:几年前,我分割了我的比特币私钥,以确保它在不同地方的安全。我丢失了一部分,并认为我永远失去了我开采的比特币。

突然(我想你明白为什么)我决定开始寻找任何零件,我找到了 6 个中的 3 个!!!!

所以现在我有开始(让我们说“5Lagt”)和结束(“Bh3u2YHU2ntQAFTruAYGhJ1xacPJXr3l6k”),所以我需要找到之间的 10 个字母数字字符。

我对编程还很陌生,但在大学里有一些 Python 和 C 基础知识。

我读到 WIF 压缩私钥中的最后一个符号是校验和。

因此,据我了解,伪代码中我需要执行以下操作

  • 将私钥解码为十六进制格式(此08+............+校验和)
  • 排除 08 和校验和
  • 生成丢失的部分(以某种方式对其进行编码或解码??)
  • 将第一个字节(什么字节?)与校验和进行比较

我在理论上理解了一部分,但在实践中却不太理解。如果我能拿回钱包里的比特币,我愿意捐出 10%!

最佳答案

简单画一下校验和检查的草图,希望它能引导您走向正确的方向:

import base58
import hashlib

def check_wif(wif):
"""WIF checksum checking.
Install base58 before use: `pip install base58`

>>> check_wif('5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ')
True
"""
try:
wif_bytes = base58.b58decode(wif)
if wif_bytes[0] != 128:
return False
wif_bytes_no_chksum, chksum = wif_bytes[:-4], wif_bytes[-4:]
wif_bytes_sha256_1 = hashlib.sha256(wif_bytes_no_chksum)
wif_bytes_sha256_2 = hashlib.sha256(wif_bytes_sha256_1.digest())
if wif_bytes_sha256_2.digest()[:4] == chksum:
return True
else:
return False
except ValueError:
return False

据我所知,总的来说,Python 对于此类任务来说太慢了。

关于python - 计算丢失的比特币私钥的校验和比特币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47871602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com