主页 > 合法imtoken钱包下载 > 生成以太坊账户私钥、公钥和地址

生成以太坊账户私钥、公钥和地址

合法imtoken钱包下载 2023-01-18 17:19:19

与上一篇比特币账户私钥、公钥、地址的生成相比,现在我们来总结一下以太坊在地址生成上的区别。

私钥、公钥和地址是如何生成的?

生成以太坊地址的过程也是:私钥->公钥->地址。 因此,地址生成需要三个步骤:

生成随机私钥(32字节) 通过私钥生成公钥(64字节) 通过公钥获取地址(20字节) 从私钥推导出公钥

私钥是一组 64 位的十六进制字符,我们可以通过它访问帐户。 以太坊的私钥是通过secp256k1椭圆曲线算法生成的,这是一种椭圆曲线算法,和比特币一样。

公钥推导地址

与比特币相比以太坊私钥怎么用,从私钥生成公钥的步骤其实是一样的。 区别在于第一部分是从公钥推导出地址。 以太坊中对非压缩公钥的处理要简单粗暴得多。 下图展示了 Public Key 生成 Address 的过程。

以太坊地址生成过程

第一步:私钥(private key)

伪随机数生成256bit私钥示例(256bit十六进制32字节)

18e14a7b6a307f426a94f8114701e7c8e774e7f9a47e2c2035db29a206321725

第二步:公钥(public key)

1、使用椭圆曲线数字签名算法ECDSA-secp256k1将私钥(32字节)映射为公钥(65字节)(前缀04+X公钥+Y公钥):

04

50863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352

2cd470243453a299fa9e77237716103abc11a1df38855ed6f2ee187e9c582ba6

2. 取公钥(非压缩公钥)进行哈希以太坊私钥怎么用,计算出公钥的Keccak-256哈希值(32bytes):

fc12ad814631ba689f7abe671016f75c54c607f082ae6b0881fac0abeda21781

3、取上一步结果的最后20个字节,即以太坊地址:

1016f75c54c607f082ae6b0881fac0abeda21781

第三步:地址(address)

0x1016f75c54c607f082ae6b0881fac0abeda21781

注意事项参考:

【以太坊基础知识】:账户、地址、私钥和公钥