Base58 编码解码
将文本或十六进制编码为 Base58,或对 Base58 解码。支持比特币、Flickr、瑞波三种字母表,可用 Base58Check 添加或验证 4 字节校验和。
Base58 把二进制数据写成一个 58 进制的大数,使用数字和字母,但去掉了容易混淆的 0、O、I、l,以及符号 + 和 /。这样的结果便于手工抄写,在 URL 中也很安全,所以比特币地址、IPFS 内容标识符和 Solana 密钥都采用它。这个工具可以编码文本或十六进制字节、解码 Base58,还能添加或验证比特币使用的 Base58Check 校验和。
使用方法
- 选择编码或解码。
- 粘贴输入;如果要编码密钥、哈希等原始字节,请把“输入格式”设为十六进制。
- 选择字母表——比特币、IPFS 和 Solana 默认使用比特币字母表。
- 选择 Base58Check 可附加校验和,解码地址时也可用它来验证。
计算公式
value = Σ byteᵢ × 256^(n−1−i);反复除以 58,并把每个余数(0–57)映射为字母表中的字符。每个开头的 0x00 字节对应一个开头的 "1"。
Base58Check 在编码前附加 SHA-256(SHA-256(data)) 的前 4 个字节。解码时会重新计算同样的哈希;不一致表示数据损坏、校验和约定不同,或者输入有误,因为随机错误通过校验的概率约为 43 亿分之一。
示例
文本 "Hello World!"(12 个字节)编码为 2NEpo7TZRRrLZSi2U,这是 IETF Base58 草案中公布的测试向量。对于比特币地址,版本字节 00 加上 20 字节的密钥哈希 010966776006953D5567439E5E39F86A0D273BEE,得到校验和 d61967f6,生成地址 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM——开头的 1 来自 00 版本字节。
常见问题
Base58 和 Base64 有什么区别?
Base64 计算更快,也大约短 2%,但它使用 +、/ 和 =,还包含外形相似的字符。Base58 去掉了这些,所以双击就能选中整个字符串,人工抄写时也更不容易出错。
能用它检查比特币地址是否有效吗?
Base58Check 校验和一致,只说明 4 个校验字节吻合。它并不能证明所有权、网络、载荷长度,甚至不能证明这个值是一个地址。以 bc1 开头的 Bech32 地址使用另一种编码。
为什么输出开头有好几个 1?
输入开头的每个 0 字节都会被写成字母表中的第一个字符(比特币字母表中是 "1"),这样把字节当作一个大数时,开头的 0 不会丢失。
会向服务器发送任何内容吗?
不会。编码、解码和 SHA-256 都在你的浏览器中运行。不过,永远不要把私钥粘贴到你无法控制的网页上。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/base58-encoder/
引用此工具
kakaoCalc. (2026, November 8). Base58 编码解码. https://kakao.mobile/zh/tools/base58-encoder/
“Base58 编码解码.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/base58-encoder/.