主页 > imtoken-冷钱包 > 以太坊地址和公钥_什么是以太坊地址

以太坊地址和公钥_什么是以太坊地址

imtoken-冷钱包 2023-03-16 05:20:31

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

以太坊使用Secp256k1椭圆曲线获取私钥和​​公钥,比特币使用相同的椭圆曲线算法。

得到公钥后,对公钥进行Keccak-256哈希运算以太坊地址是什么,然后取最后40个16进制字符,得到以太坊地址。

生成以太坊地址和比特币地址不需要连接网络

###python代码生成以太坊地址

Python首先安装类库

pip 安装 ecdsa

pip 安装 pysha3

以太坊地址比特币地址_以太坊地址是什么_以太坊地址区分大小写

导入binascii

导入 sha3

从 ecdsa 导入 SigningKey,SECP256k1

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

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

keccak = sha3.keccak_256()

以太坊地址比特币地址_以太坊地址区分大小写_以太坊地址是什么

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

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

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

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

print("私钥:" + priv_key.decode() )

print("公钥:" + pub_key.decode() )

以太坊地址比特币地址_以太坊地址区分大小写_以太坊地址是什么

print("地址:" + 地址)

# 地址:0xd38d3c226d0a86ce9932608edac39163fcbc550e

复制代码

来个秀操作,用同一个私钥管理比特币和以太坊

由于以太坊使用Secp256k1椭圆曲线获取私钥和​​公钥,比特币也使用相同的椭圆曲线算法。

04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d地址,生成以太坊地址,

以太坊地址比特币地址_以太坊地址是什么_以太坊地址区分大小写

该公钥是通过openSSL获得的未压缩公钥。 以太坊不需要使用这种类型的公钥以太坊地址是什么,只要去掉第一个04即可。

导入 sha3

导入binascii

_openssl_pub_key=“04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec9eab42”

_pub_key = _openssl_pub_key[2:]

_pub_hex = 二进制文件。 unhexlify(_pub_key)

以太坊地址区分大小写_以太坊地址是什么_以太坊地址比特币地址

keccak = sha3.keccak_256()

凯卡。 更新(_pub_hex)

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

打印地址#0x9156a7cdab767ffe161ed21a0cb0b688b545b01f

复制代码

这是什么意思? 我使用完全相同的私钥分别生成了比特币地址和以太坊地址。 这两个完全不同的地址使用同一个私钥。

以太坊地址0x9156a7cdab767ffe161ed21a0cb0b688b545b01f和比特币地址14xfJr1DArtYR156XBs28FoYk6sQqirT2s的私钥原来是一样的。

这给资产管理带来了极大的便利,但是如果泄露了一个私钥,那么两个资产都可能被盗。 管理仓促,火葬场尽数泄密。