Base58Check编码实现示例

本文介绍了Base58Check编码的过程,包括编码和解码的详细步骤。编码涉及计算两次SHA-256哈希值并取前4字节作为校验码,解码时进行Base58解码并验证校验码。提供了Bitcoin 0.16.0的编码和解码源码链接供参考。
摘要由CSDN通过智能技术生成

Base58Check编码实现

https://en.bitcoin.it/wiki/Base58Check_encoding

Base58Check编码是在Base58编码的基础上,增加了校验码。
编码流程:
1. 计算原码的SHA-256哈希值
2. 再次计算步骤1结果的SHA-256哈希值
3. 取步骤2的前4字节作为校验码
4. 将步骤3获取的校验码添加到原码末尾
5. 对步骤4的结果进行Base58编码
解码流程:
1. 对编码数据进行Base58解码
2. 去除步骤1结果的校验码,即最末4个字节
3. 计算步骤2结果的SHA-256哈希值
4. 再次计算步骤3结果的SHA-256哈希值
5. 取步骤4结果的前4个字节,并与步骤2中最末4字节进行校验码匹配
6. 匹配成功返回解码数据,否则返回失败

Bitcoin (0.16.0) 编码实现源码:

std::string EncodeBase58Check(const <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值