Base58 编码 / 解码工具

支持文本与 Base58 互转,提供 Bitcoin、Ripple、Flickr、IPFS 等多种字母表,支持 Base58Check 校验编码,数据仅在本地运算

输入
输出
字母表
模式
Base58 去除易混淆字符(0、O、I、l),适合人工抄写场景
快捷示例
当前字母表:Bitcoin
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

已排除的易混淆字符:0(数字零)、O(大写 O)、I(大写 I)、l(小写 L)
Base58 编码说明
Base58 是一种基于 58 个可打印字符的二进制数据编码方式。它从 Base64 的字符集中去除了容易混淆的字符, 使得编码结果更适合人工阅读和抄写。

Base58 与 Base64 的区别:
Base64 使用 A-Z a-z 0-9 + /(64 个字符),而 Base58 去除了 6 个字符:
0(数字零)— 易与 O 混淆
O(大写 O)— 易与 0 混淆
I(大写 I)— 易与 l 混淆
l(小写 L)— 易与 I 混淆
+/ — 在 URL 和文件名中可能引起问题

各字母表特点:
Bitcoin:最常用的 Base58 字母表,数字在前、大写字母、小写字母的顺序排列。Bitcoin 地址即使用此字母表。
Ripple:Ripple 网络地址使用的字母表,顺序不同于 Bitcoin,以 rpshnaf39w... 开头。
Flickr:用于 Flickr 短 URL,小写字母在前,避免在 URL 中产生歧义。
IPFS:与 Bitcoin 字母表相同,用于 IPFS 内容标识符(CID)的编码。

Base58Check:
Base58Check 是在 Base58 基础上增加了版本字节和 4 字节校验和(SHA-256 双重哈希的前 4 字节), 用于检测输入错误。Bitcoin 地址就是典型的 Base58Check 编码:
版本字节(1 字节)+ 载荷数据 + 校验和(4 字节),整体再进行 Base58 编码。

编码原理:
将字节序列视为一个大整数(高位在前),反复除以 58,取余数映射到字母表字符,直到商为 0。 最后将前导零字节转换为字母表的第一个字符。

常见用途:
• Bitcoin 及其他加密货币地址
• IPFS 内容标识符(CIDv0)
• Flickr 短 URL
• 需要人工抄写或口述的短标识符
• 部分 P2P 网络的节点 ID