当前位置:首页区块链Python本地比特币私钥

Python本地比特币私钥

钱包软件日益成熟,用户数增加很快,但有个疑问一定困扰过你:凭什么说钱包软件自动生成的私钥是绝对随机、无法被暴力猜到的?

Python本地比特币私钥

钱包软件越来越成熟,用户数量迅速增加。但有一个问题一定困扰着你:为什么你说钱包软件自动生成的私钥是绝对随机的,不能被暴力猜到?

这个问题很核心,答案是:它是否经过了足够长的测试。

如果自动生成的私钥不是随机的,那么偷钱事件迟早会成为头条新闻。然而,近年来,伪随机私钥被盗事件一直没有发生。

想想几轮暴涨,有多少黑客以每秒数十亿的速度猛烈破解。当你看完这句话,全世界的黑客都尝试了数十亿的私钥,但这么多用户钱包里的硬币是非常安全的。

所以,从这个角度来看,主流钱包经受住了考验。虽然数学中没有绝对真随机数,但即使是伪随机数,也不是很伪。

-1个-

进一步的问题是:为什么钱包中随机生成的私钥一定可靠?

这个问题无法验证,只能证伪——任何人都只能证明,在某个地址的硬币被盗的那一刻,对应的私钥是不安全的,而不是在被盗之前。

唯一的办法就是自己制作私钥。

我们知道私钥看起来像是一个长得记不住的字符串,但它本质上是一个介于0-2^256(2到256的幂)之间的整数。2^256是最大值

115792089237316195423570985008687907853269984665640564039457584007913129639936

也就是1.15×10^77

它接近宇宙中所有原子的数目(10^80)。任何一个想要穿越这些数字的人都需要消耗至少一万亿太阳的能量,而且不太可能获得一万亿分之一的机会。

不是太阳太小,而是数学太大。

如果我们能自己指定这个数字,我们就能比普通人更深入地保护私钥。

例如,如果将一枚硬币翻转256次,正面标记1,背面标记0,则原始私钥是一个二进制数

00111010000101111100001011010101110010111111010000001111101111011010001010100110110100011001011100010110011001100010101110011111101101101101101101101101101101011101100111011101100111000011100011001011001110001000100001011100101101101101101101101110

但是这个私钥不能直接导入主流钱包。可以转换为以下形式:

Kyajfhrghuf7hwgleew4odtwciifkdvcxf2qetvhdqbk7bzpe6q公司

好吧,我们需要找到一个可以利用的工具,因为手会酸的。人生苦短,人人用蟒蛇。

-2-

Python是一个开源软件,它的代码是对公众开放的。现在它通常在python3中使用。安装后,Windows用户可以启用Python的空闲:

Python本地比特币私钥1

您还可以下载anaconda3并使用Spyder:

Python本地比特币私钥2

手把手教学前,需要提前在命令行上安装比特币模块

Windows用户在左下角“start”,搜索“CMD”调出命令行,输入:PIP安装比特币,下载模块:(Mac用户直接在命令行输入)

Python本地比特币私钥3

首先,在控制台中导入比特币模块

进口比特

此外,还可以输入三行代码来生成私钥。

请注意,最好在脱机环境中输入代码,因为不能保证信息不会流出。

在第一行中,输入二进制私钥K注意二进制数应该用引号括起来

kŠ2=Š39;001110100001011111010101110010111111010100000001111101111010001010100111110100100011001011100110011001100010101010010010110011001100111111111111010110011001100010010010110011001100111001011001001110001000100001011100100100111100111100101101101101101110Š39;

在第二行中,将二进制私钥转换为十进制私钥Ku10:

k#10=int(#39;0b#39;+str(k#2),2)

注意:“0b”代表二进制数,Python中的int函数将其他基数转换为十进制数。

第三行:将十进制私钥转换成wif压缩格式的私钥K,这是钱包可以使用的格式:

k=比特币.编码u私钥(k#10,#39;wif#compressed#39;)

实际报价的影响如下:

Python本地比特币私钥4

-3个-

在生成私钥时,公钥和地址几乎是同步生成的。我们只需要输入两行代码:

公钥K:

K=比特币.privkey至uukey(k)

地址a:

A=比特币.pubkey收件人地址(K)

运行代码效果:

Python本地比特币私钥5

当然,您也可以在.Py文件中编写代码:

Python本地比特币私钥6

在第二行,写下你通过掷硬币得到的二进制私钥。按F5,您会听到阵风

Python本地比特币私钥7

私钥和地址将自动显示。

再次提醒需要在离网环境下操作,确保绝对安全。

最后,尝试将私钥导入钱包,地址会自动出现

Python本地比特币私钥8

温馨提示:

文章标题:Python本地比特币私钥

文章链接:https://www.btchangqing.cn/184805.html

更新时间:2021年01月25日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链

本文从链接的起源入手,探讨了网络超链接的合法性

2021-1-25 19:39:03

区块链行情

当连锁店的手续费上涨时,eip-1559、layer2和gas代币如何打破市场

2021-1-25 19:58:54

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索