比特币私钥->公钥->地址 示例详解(霜之小刀)

比特币私钥->公钥->地址 示例详解(霜之小刀)

欢迎转载和引用
若有问题请联系请联系
Email : [email protected]
QQ:2279557541


1、私钥

简单的说,私钥就是一个32个byte组成的随机数,如
0x25e25210dce702d4e36b6c8a17e18dc1d02a9e4f0d1d31c4aee77327cf1641cc

2、私钥生成公钥

通过椭圆算法,也就是比特币中的secp256k1这个库,可以将私钥转换为公钥,这里我们都是用为压缩格式来说明,就是
0x043f099e71ac2b0ca6ca72b4e00539f6972a5f2769bdbfb7b357691c00815bb33860518bb1a1e047a652fee2a21464b95d8176bdbf66f8f4a07ccad52c74321772

3、公钥转换为地址

这个过程就有点复杂了。。。
1、对公钥进行hash256的运算得到
0x0754b2807f9708a37ed1f66b5b51285e3914e7bec0305d805ceba2c3c4f5b91c
2、再对1的结果进行hash160的运算,得到
0x3792778b38ec2aee1452984230b05efe74784656
3、将地址的版本号0x00加到地址最前方,得到
0x003792778b38ec2aee1452984230b05efe74784656
4、对3的结果进行hash256运算得到
0x39a3e5e09bd06ef61f201871bfdf08a4a98cefd857bd75020d2ed5bfd3fe2af1
5、在对4的结果进行hash256运算得到
0x572eb9fb474946a476565df245d9a1220e4afbeca233c08bff1c44b5393260e5
6、将3的结果与5结果的前4byte(572eb9fb)组合得到
0x003792778b38ec2aee1452984230b05efe74784656572eb9fb
7、对6的结果进行base58运算得到
164qdFjYmbwPybeXrfFayAgjpp1nsCuWRg

猜你喜欢

转载自blog.csdn.net/lihn1987/article/details/80171855
今日推荐