检查字段结构
JSON 可解析、无重复字段、数字 version 为 3、小写 crypto、AES-128-CTR 的 IV、密文与 MAC 的十六进制外观,以及 PBKDF2 / scrypt 参数。嵌套超过 64 层会停止检查。
帮助区分 JSON 语法、字段缺失与暂不支持的格式。选择工作副本后,在当前浏览器检查;不上传文件、不询问密码、不尝试解密。检查通过只说明受支持的字段符合规则,不能证明钱包真实、密码正确或能够恢复。
仅支持不超过 1 MiB、UTF-8 编码的 Web3 Secret Storage V3 JSON。请保留原件,不选择助记词备份、密码库或其他不相关文件。也可以先下载下方合成样本体验检查结果。
文件内容只由本页本地脚本读取;检查摘要不包含文件名、地址、ID、密文、盐、MAC 或原始文件内容。没有密码输入和解密功能。
JSON 可解析、无重复字段、数字 version 为 3、小写 crypto、AES-128-CTR 的 IV、密文与 MAC 的十六进制外观,以及 PBKDF2 / scrypt 参数。嵌套超过 64 层会停止检查。
支持 aes-128-ctr;KDF 为 pbkdf2(hmac-sha256)或 scrypt。其他版本、算法、大写 Crypto 字段会标为“不支持”,不能据此认定备份损坏。
不执行 KDF,不验证 MAC 内容,不解密,不核对私钥、地址归属或余额。即使密文和 MAC 是人为编造的,字段也可能通过。不能用于判断卖家提供的钱包文件是否可信。
依据 Ethereum 官方 Web3 Secret Storage V3 定义整理。该规范区分字段结构、密码派生、MAC 核对与解密;本工具仅覆盖第一项。这里的合成样本和测试记录是 CZB 对本工具的检查,不是独立认证或钱包软件兼容性测试。
补充规则:dklen 至少 32;迭代与成本参数为正安全整数;scrypt 的 n 大于 1 且为 2 的整数次幂。id 的 UUID 外观异常、密文不是常见 32 字节时给出提示,不宣称已经发现钱包损坏。
测试环境为 Node.js 22,检查器版本 1.0.0。所有输入均为人为构造的公开格式样本,不来自客户,不包含实际钱包备份。测试不使用网络、资产或密码,也不验证解密。完整逐项结果与复现步骤见下载文件。
| 输入变化 | 结果 | 说明 |
|---|---|---|
| 合成的 PBKDF2 / scrypt 字段 | 结构检查通过 | 仅证明受支持字段符合规则。 |
| 把 MAC 替换为等长全零值 | 仍通过结构检查 | 不验证密码与 MAC,不能证明能够解密。 |
| IV 长度不足 / MAC 缺失 | 发现字段问题 | 可定位格式层面的异常。 |
| 重复 version 字段 | 发现歧义,停止检查 | 避免只检查最后一个值。 |
| 其他加密算法 / 大写 Crypto | 不支持 | 不等同于文件损坏。 |
离线包包含页面、脚本、样式、样本与测试脚本。校验清单见 SHA-256 清单。可解压后用本地静态服务器运行;断开网络后仍可选择文件并检查。
格式只是排查的一步。文件来源、实际钱包类型、密码、备份覆盖范围与授权状态需要分别确认。保留原始材料,在来源软件中使用工作副本验证。
如发现检查规则或页面错误,请向 pvc100@gmail.com 提供检查器版本、问题描述和可公开的合成复现样本;不要附真实钱包文件、密码或助记词。