在丢失的比特币私钥上计算校验和比特币[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在丢失的比特币私钥上计算校验和比特币[关闭]相关的知识,希望对你有一定的参考价值。
这是我的故事:几年前,我将比特币私钥分开,以便在不同的地方保持安全。我失去了一部分,并认为我永远丢失了我的开采比特币。
突然(我想你理解为什么)我决定开始搜索任何部分,我发现了3个中的3个!
所以现在我有了开始(让我们说“5Lagt”)和结束(“Bh3u2YHU2ntQAFTruAYGhJ1xacPJXr3l6k”)所以我需要在它们之间找到10个alfanumeric字符。
我对编程很陌生,但在大学的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对于那种任务来说太慢了,我可以说。
以上是关于在丢失的比特币私钥上计算校验和比特币[关闭]的主要内容,如果未能解决你的问题,请参考以下文章