Keystore Structure Check · v1.0.0

Keystore V3 本地格式检查器

帮助区分 JSON 语法、字段缺失与暂不支持的格式。选择工作副本后,在当前浏览器检查;不上传文件、不询问密码、不尝试解密。检查通过只说明受支持的字段符合规则,不能证明钱包真实、密码正确或能够恢复。

发布日期:2026-10-19维护:查找币 CZB公开样本与代码可复查

选择 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 提供检查器版本、问题描述和可公开的合成复现样本;不要附真实钱包文件、密码或助记词。