Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
这是我的故事:
几年前,我拆分了我的比特币私钥,以确保它在不同地方的安全。我失去了一部分,并认为我永远失去了开采的比特币。
突然(我想您明白为什么),我决定开始搜索任何零件,结果发现了6个零件中的3个!
所以现在我有了开始(比如说“ 5Lagt”)和结束(“ Bh3u2YHU2ntQAFTruAYGhJ1xacPJXr3l6k”),所以我只需要找到10个字母数字字符。
我对编程很陌生,但是大学里有一些Python和C的基础知识。
我已经读到WIF压缩私钥中的最后一个符号是校验和。
因此,据我所了解的伪代码,我需要做以下事情
将私钥解码为十六进制格式(此08 + .......... +校验和)
排除08和校验和
生成丢失的部分(以某种方式对其进行编码或解码?)
比较第一个字节(什么字节?)和校验和
我在理论上部分理解它,但在实践中却不是。
如果我拿回来的话,我希望在钱包里拿出10%的比特币!
正如我所知,一般而言,python对于此类任务来说太慢了。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
这是我的故事:
几年前,我拆分了我的比特币私钥,以确保它在不同地方的安全。我失去了一部分,并认为我永远失去了开采的比特币。
突然(我想您明白为什么),我决定开始搜索任何零件,结果发现了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/
10-12 05:04