加密算法
比特币地址生成采用的加密算法是ECC,更安全、更高效的加密算法。公钥加密有ECC,ECDH 或者 ECDSA。ECC是椭圆曲线加密(Elliptic Curve Cryptography)的缩写,后两个算法是基于它的算法。
生成过程
随机生成私钥,私钥推出公钥,公钥推出地址,整个过程不可逆。
image.png
生成规则
比特币地址生成流程.jpg- 私钥生成公钥
- 对公钥进行两次加密,第一次使用sha256加密,第二次再对结果进行RIPEMD160进行hash计算,得到公钥hash,160位,20字节。
- 将比特币网络版本号1字节与公钥hash拼接,得到21字节的数据。
- 将21字节的数据做两次sha256加密计算,对结果取前4字节,得到校验码checksum。再将checksum拼接在21字节数据的后面,得到25字节数据。
- 对25字节数据进行base58运算,最终得到地址。
为什么要使用base58,而不是base64?
base58同base64编码原理是一样的,只是base58的字符集去除了6个容易混淆的字符,0和O、l和1、+和/。对地址转账时,涉及到资金安全,所以需去除容易混淆的字符。
-
在线模拟生成地址测试 的步骤与上图流程一致。
image.png
网友评论