加密地址格式校验
把地址贴进来,工具会先看它长什么样,判断属于哪条链,再按这条链自己的规则把校验位重算一遍:比特币传统地址和波场地址用 Base58Check 的双 SHA-256,比特币隔离见证地址用 Bech32 或 Bech32m 的 polymod,以太坊系地址用 Keccak-256 做 EIP-55 大小写比对。算法都写在这个页面里,由你的浏览器执行。
输入即算,不需要点任何按钮。这段文字不会被发送到任何地方,页面也没有加载外部脚本。
前两个是比特币白皮书时代就公开的地址,第四个来自 EIP-55 提案的示例。点一下会填进上面的框里,你可以随手改掉其中一个字符,看校验位怎么把错误抓出来。
把地址粘贴到左边,结果会在这里出现。所有校验都在你这台设备上完成。
- 还没有可显示的检查项。
校验通过不等于这笔钱能安全到账。它只说明这串字符本身的格式和校验位没问题,不代表这个地址属于你要转账的那个人,也不代表它在你选的那条网络上能收到币。收款方是谁,只能靠你和对方在平台外另行核对;能不能收到,取决于你在提币页面选的网络。
| 地址长相 | 属于 | 校验机制 | 能验出改一个字符吗 |
|---|---|---|---|
| 1 开头,34 位左右 | 比特币 · 传统地址 P2PKH | Base58Check:对前 21 字节做两次 SHA-256,取前 4 字节比对 | 能 |
| 3 开头 | 比特币 · 脚本地址 P2SH | 同上,版本字节为 0x05 | 能 |
| bc1q 开头 | 比特币 · 隔离见证 v0 | Bech32 polymod,校验常数为 1 | 能 |
| bc1p 开头 | 比特币 · Taproot(隔离见证 v1) | Bech32m polymod,校验常数为 0x2bc830a3 | 能 |
| T 开头,34 位 | 波场 TRON | Base58Check,版本字节为 0x41 | 能 |
| 0x + 40 位十六进制 | 以太坊、BNB Chain、Polygon、Arbitrum 等 EVM 链 | 混合大小写时用 Keccak-256 做 EIP-55 比对;全大写或全小写则无校验位 | 混合大小写能,纯大小写不能 |
| 32 到 44 位 Base58 | Solana | 只能验字符集和解码后的 32 字节长度 | 不能 |
上表列出的就是本工具实现的全部能力。表里没有的链(例如 Cardano、Ripple、Cosmos 系)本工具不认识,会直接报「未识别」,请到对方平台的收款页面自行核对。
校验位在验什么,以及「通过」到底保证了什么
校验位是设计出来防手滑的
加密货币地址不是随机字符串,绝大多数在设计时就把一小段冗余信息编了进去。这段冗余不参与转账,唯一的用途是让软件在你按下发送之前发现「这串字符被改动过」。改一个字符、漏一个字符、把相近字形看串行,重算出来的校验位就对不上。本工具做的就是把这段重算亲手做一遍,而不是拿正则表达式比一比长度就说没问题。
三套机制,各管一类地址
比特币传统地址和波场地址共用同一套编码,叫 Base58Check:把版本字节加公钥哈希做两次 SHA-256,取结果的前四个字节接在后面。两者靠版本字节区分,比特币是 0x00 或 0x05,波场是 0x41,这也是为什么波场地址一律以 T 开头。比特币隔离见证地址换了一套,用 Bech32 的多项式取模,v0 地址的校验常数是 1,Taproot 那一代改用 Bech32m,常数是 0x2bc830a3,两者不能混用。以太坊系最特别,地址本身没有校验位,是后来用 EIP-55 把校验信息藏进了字母的大小写里,所以只有混合大小写的地址才验得动。
结果卡上三种状态怎么读
「校验通过」表示重算的结果与地址自带的完全一致;「校验不通过」表示对不上,几乎可以断定这串字符被改动过,此时唯一正确的做法是回到来源重新复制,不要凭感觉改一个字符再试;「格式正确,无校验位可验」是最需要小心的一种,它出现在纯大小写的 EVM 地址和 Solana 地址上,意思是这串字符的形状合法,但它本身不携带足以发现错误的冗余信息。
为什么 Solana 只能验一半
Solana 的地址就是一个三十二字节的公钥,直接用 Base58 编码,没有附加任何校验字节。所以工具能确认的只有两件事:字符都在 Base58 表里,解码出来正好是三十二字节。改掉其中一位,结果通常仍然是一个格式合法的地址,只不过对应着一把根本没人持有私钥的公钥,钱转过去就永远拿不回来了。遇到这类地址,请对着来源逐段核对,或者先转一笔小额试路。
它明确不做的三件事
它不查链上余额,不知道这个地址有没有被用过;它不识别地址的归属,判断不了对面是交易所、朋友还是骗子;它也不知道你在提币页面选了哪条网络。EVM 地址在以太坊、BNB Chain、Polygon、Arbitrum 上长得一模一样,校验通过说明地址合法,但钱到底能不能收到,取决于你选的网络和对方的钱包支持哪条链,这一步得靠提币网络对照速查去确认。
把它放进流程的哪一步
最有效的位置是复制地址之后、粘贴进提币框之前。先在这里过一遍,确认链属和校验位;再回到提币页面选网络;转账时先发一笔小额试路,确认到账后再转余下的。已经转错网络的,别急着再转一笔补救,先读转错网络还能不能找回来;还没想清楚该选哪条链的,先读提币网络怎么选。