02它到底检查了什么
它检查的是这串字符「内部自洽不自洽」。多数地址格式在设计时就带了一段校验和,抄错一个字符会导致校验和对不上,工具能发现这一点。
按格式分别说明:
- 比特币传统地址(1 或 3 开头):做 Base58Check 校验,也就是对地址主体做两次 SHA-256,比对末尾四个字节。
- 比特币 Bech32 / Bech32m 地址(bc1 开头):按 BIP-173 与 BIP-350 的多项式校验计算,并核对见证版本与编码方式是否匹配。
- EVM 地址(0x 开头):先看长度和字符集;如果地址是混合大小写形式,则按 EIP-55 用 Keccak-256 重新算一遍大小写并逐位比对。
- 波场地址(T 开头):Base58Check 校验,并确认版本字节是 0x41。
- Solana 地址:Base58 解码后确认长度是 32 字节。
这些计算全部写在本站的 /assets/addr-check.js 里,没有调用任何外部接口。你可以断网之后再用这个页面,结果完全一样。
03它检查不了什么(这一节最重要)
格式正确不等于这是你要转的那个人的地址。校验和只能证明这串字符没有被抄坏,它不知道这个地址属于谁,也不知道你选的链对不对。
具体说,下面这些情况它一个都发现不了:
- 剪贴板被替换。攻击者换上去的是一个完全合法的地址,校验一定通过。
- 对方给错了地址。合法但不是你想转的那个人的。
- 链选错了。EVM 系多条链共用同一套地址格式,工具无法知道你打算走哪条。这个坑写在 什么是链,选错链会发生什么。
- 目标是合约地址。形式上和普通地址一样,但转过去可能拿不回来。
- 回到来源重新核对一次地址,包括中间的字符,不要只看首尾。
- 先转一笔小额,到账确认之后再转剩下的。完整流程见 怎么把币从交易所转到钱包。
04支持范围与已知限制
| 格式 | 能做的校验 | 强度 |
|---|---|---|
| 比特币 Base58Check 1 / 3 开头 | 双 SHA-256 校验和 + 版本字节 | 能查出抄写错误 |
| 比特币 Bech32 / Bech32m bc1 / tb1 开头 | 多项式校验 + 见证版本与编码匹配 | 较强,能定位到字符级错误 |
| EVM 混合大小写 0x 开头 | EIP-55 Keccak-256 大小写校验 | 能查出抄写错误 |
| EVM 全大写或全小写 | 只能查长度与字符集 | 弱,地址本身没带校验信息 |
| 波场 TRON T 开头 | Base58Check + 版本字节 0x41 | 能查出抄写错误 |
| Solana | 只能查 Base58 解码后是否 32 字节 | 弱,该格式不含校验和 |
没有列出的链暂时认不出来,工具会直接说「认不出这是哪种地址」,而不是猜一个结果给你。