王欣宇 WANG XINYU
← 全部作品

PROJECT 01 — DESKTOP TOOL

藏图 HIDE-ZIP IMAGE

把一个压缩包藏进一张图片里:图片照常打开,看不出异样;需要的时候,再把包原样取出来。

年份
2026
技术
Python · customtkinter
状态
已打包 exe / 安装包
仓库
GitHub ↗
藏图 V3.0.0 主界面:拖入图片与压缩包,勾选加密后导出。

它做什么

选一张图片、选一个压缩包、设一个密码,导出。图片在资源管理器里仍然是图片,能预览、能发群、能传网盘。想取出时,把图拖回程序,输入密码,压缩包完整还原。

支持 ZIP / RAR / 7Z,可以批量处理,可以验证「是否真的藏进去了」,有导出日志和更新检查。加密用 AES-256,密码不上传,也不存在任何地方。

怎么做的

界面是 customtkinter,拖放靠 tkinterdnd2,加密用 pyzipper,图像处理用 Pillow。导出前先压缩并加密,把密文追加到图片末尾,再在文件尾部写一段索引:偏移、长度、原文件名、校验值。提取时读索引、解密、按原路径还原。

整个流程不碰图片本身的像素,所以预览不会花,颜色不会变。代价是文件体积会变大,导出时会明确告诉你多了多少。

图片还是图片,只是多了一点你看不见的重量。

踩过的坑

  • 有些看图软件会「另存为」,重写文件,藏在后面的数据就没了。所以提取前先校验索引,失败就明确报错,不去猜。
  • 大文件复制很慢,进度条必须是真的,不能拿动画糊弄人。
  • Windows 会缓存缩略图,替换图片之后要主动刷新,否则看起来像没成功。

安装包用 Inno Setup 打。卸载时只删程序,不动用户藏过的图——这一点写在安装向导里。