# CZB Keystore 格式检查器 1.0.0:公开测试记录 发布日期:2026-10-19。维护者:查找币 CZB。本包提供检查源码与复现材料;所引用规范及既有站点样式的权利归各自权利人。 这是本工具的格式检查记录,不是客户恢复案例、密码验证、钱包软件兼容性认证或独立安全审计。所有样本均为人工构造;密文与 MAC 没有经过加密生成,不应当作可以解密或存放资产的钱包。 ## 检查范围 - 顶层 JSON 对象、数字 version: 3、小写 crypto;重复字段和超出 64 层的嵌套会停止检查。 - 仅支持 aes-128-ctr;IV 的十六进制字节长度;ciphertext 的十六进制外观;MAC 的字节长度。 - 仅支持 pbkdf2 / hmac-sha256 和 scrypt;检查相应成本参数、dklen、salt 的字段形态。 - 不运行 KDF、MAC 核验、解密、地址派生或链上查询,不判断密码强度、余额或资产归属。 - id 外观异常和非常见密文长度给出提示;不支持的版本、算法和大写 Crypto 字段不代表备份损坏。 字段依据:[Ethereum Web3 Secret Storage V3 定义](https://ethereum.org/developers/docs/data-structures-and-encoding/web3-secret-storage/)。本工具支持的范围比完整规范窄,不能替代来源软件的导入验证。 ## 复现 解压完整包,保持文件结构,使用 Node.js 22 或更新版本,在解压目录执行: ```sh node downloads/keystore-format-v1/reproduce.cjs ``` 命令打印通过预期的用例数,任何状态或导出内容异常会以非零退出码停止。测试脚本不请求网络。`report.json` 是发布时实际运行结果;加 `--write` 可在本地重建结果,其中时间与运行环境会改变。 ## 在本地打开工具 在解压目录运行 Python 3 自带静态服务器: ```sh python3 -m http.server 8080 --bind 127.0.0.1 ``` 打开 `http://127.0.0.1:8080/keystore-format-checker.html`。页面样式、检查脚本和样本均在包内,断开外网后仍可使用。官网导航、其他指南和官方来源需要另行访问。 检查摘要仅包含检查器版本、固定格式标识、受支持算法名、问题代码与说明,不包含文件名、地址、UUID、密文、MAC、盐或原始内容。清除按钮撤销当前选择并移除结果;不声称能保证浏览器内存的物理清除。 ## 最重要的边界测试 `mac-zero-still-structural` 把 MAC 换成等长全零字符串,预期依然是结构通过。这不是钱包有效的证明,正好说明仅检查格式无法验证密码、MAC 或恢复能力。 `duplicate-version` 和 `escaped-duplicate-key` 检查重复字段,避免只依据 JSON 解析器保留的最后一个值判断。其他用例覆盖错误字节长度、缺失字段、错误成本参数、超大输入、过深嵌套、不支持的算法及输出不回显原始材料。 ## 文件完整性与更正 `SHA256SUMS.txt` 列出源码、页面、样式、样本、复现脚本和发布结果的 SHA-256;它用于核对下载版本,不是第三方背书。新版本应重新运行测试并更新清单。 如发现问题,请提交版本、问题描述及可公开的合成样本到 pvc100@gmail.com;不要发送真实钱包文件、密码或助记词。