演示真实性说明
本平台包含真实功能与演示模拟两部分。下表明确标注各项内容的真实/模拟属性,便于演示时向观众说明。
| 模块/功能 | 真实/模拟 | 说明 |
|---|---|---|
| SM3 国密哈希计算 | ✅ 真实 | 后端调用 gmssl SM3 实现,与国标 GM/T 0004-2012 一致 |
| pHash 感知哈希 | ✅ 真实 | 调用 imagehash 库计算图片 pHash,用于相似核验 |
| hash-chain 存证 | ✅ 真实 | prev_hash 链表,SM3 串联校验,block_hash = SM3(prev_hash + content_hash) |
| 链完整性验证 | ✅ 真实 | 逐块重算 hash 比对,检测篡改 |
| EXIF/XMP 元数据扫描 | ✅ 真实 | 浏览器端解析图片元数据 |
| 文件上传与持久化 | ✅ 真实 | 上传文件存至 backend/data/uploads/,跨会话可访问 |
| 证据包生成 | ✅ 真实 | 司法证据字段表单 + hash-chain 信息打包导出 |
| 大模型模拟器(生成) | 🟡 模拟 | 后端 Pillow 生成渐变 mock 图片,不调用真实 AI 模型 |
| 大模型模拟器(登记联动) | ✅ 真实 | 模拟图片生成后执行真实的 SM3 哈希 + hash-chain 写入链路 |
| 主动检测(相似核验降级) | ✅ 真实 | 浏览器端 localStorage 比对+Canvas pHash,后端不可用时降级 |
| 注册表搜索引擎 | ✅ 真实 | 基于 registry.json 的编号/SM3 搜索 |
| 初始演示数据(初始注册记录) | 🟡 模拟 | python seed_demo.py 生成一组示例登记记录和 hash-chain 区块作为演示起点 |
💡 说明:核心密码学与存证链路(SM3 / hash-chain / 完整性校验)全部真实运行,前端 UI、模拟生成器、演示数据为辅助展示层。
为何使用模拟?
大模型模拟器(生成)
真实 AI 模型生成需要 GPU 硬件、大量显存和第三方 API 额度(如 Stable Diffusion 需 8GB+ VRAM, 通义万相/文心一格按次计费)。本平台定位为"内容可信登记与存证验证",核心链路是生成后的登记→指纹→存证→追溯, 而非 AI 生成本身。使用 Pillow mock 图片可确保在任何环境下(包括无 GPU 的轻量云服务器) 一键启动即完整演示全流程,降低部署门槛。
初始演示数据
seed_demo.py 生成的示例数据仅作为演示起点,方便首次启动时即有内容可展示。 这些数据没有对应的真实上传文件(uploads/ 中无实际图片),区块哈希也是基于演示内容计算。
如何建立真实数据?
模拟数据仅作为演示起点。通过平台的正常操作流程,即可自行产生完全真实的登记记录和 hash-chain 区块:
- 重置初始状态:删除 backend/data/registry.json 和 backend/data/hash_chain.json(可选保留 uploads/), 或直接删除整个 backend/data/ 目录后重启服务(会自动重建空数据文件)
- 上传真实文件登记:在「图片检测」(/register)页面上传你自己的真实图片或文档, 填写传播场景和来源说明后保存——系统会计算真实 SM3 哈希 + pHash,写入 hash-chain,返回真实区块
- 链上验证:在「固证链路」(/chain)页查看真实区块,运行链完整性验证确认全部区块可追溯
- 清除演示数据:如只想保留自己的真实数据,可在重置前记录下你自己的登记编号,删除后重新登记即可
完成后,系统中所有登记记录和 hash-chain 区块均来自真实操作,无任何模拟数据残留。