以太坊地址和公钥_以太坊地址是什么
发布日期:2021-06-24 11:25:51 浏览次数:5 分类:技术文章

本文共 1665 字,大约阅读时间需要 5 分钟。

以太坊生成地址的方式跟比特币比较类似,也是 私钥 -> 公钥 -> 地址,以太坊只是在公钥 -> 地址做了简化。

以太坊使用Secp256k1椭圆曲线得到私钥、公钥,比特币使用的也是相同的椭圆曲线算法。

得到公钥后,对公钥做Keccak-256哈希运算,然后取最后的40位16进制字符,得到的就是以太坊地址。

生成以太坊地址跟比特币地址都是不需要连接网络的

###python code 生成以太坊地址

python首先安装类库

pip install ecdsa

pip install pysha3

import binascii

import sha3

from ecdsa import SigningKey, SECP256k1

priv = SigningKey.generate(curve=SECP256k1) #生成私钥

pub = priv.get_verifying_key() #生成公钥

keccak = sha3.keccak_256()

keccak.update( pub.to_string()) #keccak_256哈希运算

address = "0x" + keccak.hexdigest()[24:]

priv_key = binascii.hexlify( priv.to_string())

pub_key = binascii.hexlify( pub.to_string())

print("Private key: " + priv_key.decode() )

print("Public key: " + pub_key.decode() )

print("Address: " + address)

# Address: 0xd38d3c226d0a86ce9932608edac39163fcbc550e

复制代码

来个骚操作,用同一份私钥来管理比特币与以太坊

既然以太坊使用Secp256k1椭圆曲线得到私钥、公钥,比特币使用的也是相同的椭圆曲线算法。

04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d,生成一个以太坊地址。

这个公钥是通过openSSL得到的未压缩公钥,以太坊不需要使用这种类型的公钥,只要把首位的04去掉即可。

import sha3

import binascii

_openssl_pub_key= "04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d"

_pub_key = _openssl_pub_key[2:]

_pub_hex = binascii.unhexlify(_pub_key)

keccak = sha3.keccak_256()

keccak.update(_pub_hex)

address = "0x" + keccak.hexdigest()[24:]

print address #0x9156a7cdab767ffe161ed21a0cb0b688b545b01f

复制代码

这说明啥?我用完全相同的私钥,分别生成了比特币地址与以太坊地址,这两个完全不一样的地址用的是同一个私钥。

以太坊地址 0x9156a7cdab767ffe161ed21a0cb0b688b545b01f 与比特币地址 14xfJr1DArtYR156XBs28FoYk6sQqirT2s的私钥竟然是相同的。

这给资产管理带来了很大方便,但如果一份私钥泄露了,2份资产都有可能被盗。 管理一时爽,泄露全都火葬场。

转载地址:https://blog.csdn.net/weixin_32497403/article/details/112877177 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:千层浪软件下载_千层浪app聚合
下一篇:python中倒背如流_八字基础知识--倒背如流篇

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月25日 10时31分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

电子学会图形化scratch编程等级考试四级真题答案解析(选择题)2020-6 2019-04-28
小兔子带你轻松玩转Scratch 绘制创意复杂图形26 2019-04-28
电子学会图形化scratch编程等级考试四级真题答案解析(判断题)2020-6 2019-04-28
Scratch克隆猫游戏 电子学会图形化编程scratch等级考试三级真题答案2020-5 2019-04-28
小兔子带你轻松玩转Scratch 绘制创意复杂图形27 2019-04-28
Scratch计算生肖 电子学会图形化编程Scratch等级考试四级真题答案解析2020-6 2019-04-28
Scratch数草莓 电子学会图形化编程Scratch等级考试四级真题答案解析2020-6 2019-04-28
电子学会图形化scratch编程等级考试二级真题答案解析(选择题)2020-9 2019-04-28
数据库课程设计 java实现学生信息管理系统 软件开发大作业 2019-04-28
电子学会图形化scratch编程等级考试四级真题答案解析(判断题)2020-12 2019-04-28
Scratch加密/解密 电子学会图形化编程Scratch等级考试四级真题 2020-12 2019-04-28
【蓝桥杯真题11】Scratch季节变化 少儿编程scratch蓝桥杯选拔赛真题讲解 2019-04-28
Scratch画雪花 电子学会图形化编程Scratch等级考试四级真题 2020-12 2019-04-28
初学python100例-案例29 判断回文数 少儿编程案例讲解 2019-04-28
【蓝桥杯真题10】Scratch投球 少儿编程scratch蓝桥杯选拔赛真题讲解 2019-04-28
Scratch绘图优化程序 电子学会图形化编程Scratch等级考试四级真题和答案 2020-12 2019-04-28
Scratch河马带球小游戏 蓝桥杯Scratch国赛真题答案和解析 2019-04-28
Scratch画圆 蓝桥杯Scratch国赛真题答案和解析 2019-04-28
Scratch画圆形螺旋 蓝桥杯Scratch国赛真题答案和解析 2019-04-28
初学python100例-案例30 计算闰年 少儿编程案例讲解 2019-04-28