一、题目
- 一段密文:
bash
16Vpi4PRYIaDu7qSHZoNQpHZ4NBcC4NX3
二、判断方法
| 编码类型 | 核心字符集 | 填充符(=) | 显著特征 |
|---|---|---|---|
| Base16 | 0-9, A-F(或 a-f) |
无 | 就是普通的十六进制字符串,只含数字和大写(或小写)的 A-F 。 |
| Base32 | A-Z, 2-7 |
有,最多 6 个 | 字母远多于数字 ,且绝不会出现数字 0、1、8、9 。 |
| Base58 | 1-9, A-Z, a-z(剔除易混淆字符) |
无 | 绝不出现 数字 0、大写 O、大写 I、小写 l,也没有 + 和 / 。 |
| Base62 | 0-9, A-Z, a-z |
无 | 字符集最"杂",数字和大小写字母都可能出现,没有任何符号 。 |
| Base64 | A-Z, a-z, 0-9, +, / |
有,最多 2 个 | 可能包含 + 和 /。末尾的 = 数量取决于原始数据长度,常见 1 个或 2 个 。 |
-
先看有没有
=号-
有
=:基本锁定 Base32 或 Base64 。再看字符集,如果只有大写字母和2-7,就是 Base32;如果字母数字混杂且有+/,就是 Base64。 -
没有
=:基本排除标准的 Base32/64(除非是无填充变体),重点看 Base58 或 Base62。
-
-
再看字符集的"纯净度"
-
Base58 是"洁癖型" :它为了让人眼容易辨认,故意剔除了容易混淆的
0、O、I、l。如果你的密文里出现了这几个字符,就绝对不是标准 Base58 。 -
Base32 是"偏科型" :它只用大写字母和
2到7。如果密文里出现了小写字母,或者数字0、1、8、9,就不是 Base32 。
-
-
警惕 Base62 的"伪装"
- 你之前拿到的那串
16Vpi4PRYIaDu7qSHZoNQpHZ4NBcC4NX3,包含大小写字母和数字,且没有=和特殊符号,符合 Base62 的特征。但要注意,Base62 并非 IETF 标准,没有统一的官方定义,不同系统可能自定义字符表,这增加了判断难度
- 你之前拿到的那串
三、工具
解码网站:Base16 Base32 Base58 Base62 Base64 Base85 Base91 编码/解码 - 锤子在线工具
