从字节层面拆开来看,钱包地址的详细生成流程如图3.10所示:
1)将公钥通过SHA256哈希算法处理得到32字节的哈希值;
2)后对得到的哈希值通过RIPEMD-160算法来得到20字节的公钥哈希Hash160;
3)把版本号+公钥哈希Hash160组成的21字节数组进行双次SHA256哈希运算;
4)将哈希值的前4个字节作为校验和,放在21字节数组末尾;
5)对组成25位数组进行Base58编码,最后得到钱包地址。