主页 > 合法imtoken钱包下载 > 生成以太坊账户私钥、公钥和地址
生成以太坊账户私钥、公钥和地址
与上一篇比特币账户私钥、公钥、地址的生成相比,现在我们来总结一下以太坊在地址生成上的区别。
私钥、公钥和地址是如何生成的?
生成以太坊地址的过程也是:私钥->公钥->地址。 因此,地址生成需要三个步骤:
生成随机私钥(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
注意事项参考:
【以太坊基础知识】:账户、地址、私钥和公钥