# ZzHash **Repository Path**: jackfahdin/ZzHash ## Basic Information - **Project Name**: ZzHash - **Description**: No description available - **Primary Language**: C++ - **License**: MIT-0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZzHash 文件校验工具 # 编译版本 QT 6.10+ # 功能简介 1. 支持文件打开检验 2. 支持拖拽检验 3. 支持校验数据清除 4. 支持检验结果复制 5. 支持检验结果保存 6. 支持检验停止 7. 支持显示检验进度(进度条内百分比) 8. 支持显示校验文件日期、大小、MD5、SHA1、SHA256、SHA3-256、CRC32 9. 支持导入清单校验(MD5/SHA1/SHA256) 10. 后端支持可扩展算法注册(当前内置 MD5/SHA1/SHA256/SHA3-256/SHA512/CRC32) # 清单校验说明 1. 点击界面中的 `导入清单` 按钮,选择 `.md5/.sha1/.sha256/.sha3/.sha3-256/.txt` 文件。 2. 清单支持两类常见格式: - `HASH 文件名` - `MD5(file)=HASH` / `SHA1(file)=HASH` / `SHA256(file)=HASH` / `SHA3-256(file)=HASH` 3. 导入后执行哈希计算,会在每个文件结果下追加: - `清单校验(算法): 通过` - `清单校验(算法): 失败` - `清单校验(算法): 未匹配清单条目` 4. 同一个清单内不允许混合算法(例如同时存在 MD5 与 SHA256)。 5. 对 `64位HASH + 文件名` 这类普通格式,`.sha3/.sha3-256` 后缀会按 SHA3-256 解析,否则默认按 SHA256 解析。 # 后端扩展算法 1. 后端通过 `ZzHashAlgorithm` 抽象接口统一算法行为(重置、喂数据、输出结果)。 2. `ZzHashAlgorithmRegistry` 维护算法注册列表,`ZzHashWorker` 按注册列表自动执行,无需改主流程。 3. 新增算法步骤: - 新建一个实现 `ZzHashAlgorithm` 的类(建议按四文件结构)。 - 在 `ZzHashWorkerPrivate` 构造函数中调用 `algorithmRegistry.registerAlgorithm("key", creator)` 注册。 - 前端若要显示该算法,可在界面选项和 `formatResult` 中增加对应字段。