图匣科普 · 约 6 分钟
图片隐写术:把秘密藏进像素里
"隐写术"(Steganography)这个词来自希腊语,意思是"被遮盖的书写"。和密码学"把内容变成看不懂的乱码"不同,隐写术追求的是让"这里藏了东西"这件事本身不被发现——表面看起来一切正常。
从藏头诗到隐形墨水
隐写是门老手艺:古人写藏头诗,把秘密藏在每句第一个字里;间谍用隐形墨水写信,纸面看上去一片空白;二战时期的"微点"技术,把一页纸缩成句号大小藏进信里。数字时代到来后,图片、音频、视频都成了新的"信纸"。
数字隐写的两大流派
1. LSB 隐写(最低有效位)。一张图片由无数像素组成,每个像素的颜色值都是数字。把每个数字的"最低一位"替换成秘密数据的比特,画面几乎看不出变化。优点是隐蔽性好,缺点是容量小(一张百万像素图也就藏一百多 KB),而且一旦图片被压缩转码,最低位会被重写,数据就没了。
2. 追加式隐写。这是图匣用的方法。PNG 图片的数据在 IEND 标记处正式结束,GIF 在 0x3B 处结束——图片查看器读到结束标记就停了,后面的字节会被直接忽略。于是可以把文件数据直接"续写"在这片无人区里。优点是容量大、实现简单;代价是文件体积会明显变大,懂行的人一看大小就知道"这图不对劲"。
一句话总结:LSB 藏得深但装得少,追加式装得多但藏得浅。图匣选了后者,因为它要解决的是"方便地分享文件",而不是"对抗专业检测"。
图匣具体是怎么做的
- 封面:你上传的 PNG / GIF / JPG,或一键生成的随机封面;
- 加密(可选):设了密码,就用 PBKDF2 从密码派生密钥,再以 AES-256-GCM 加密文件——这是银行级算法,没密码就是乱码;
- 打包:加密后的文件加上元数据(文件名、大小、校验信息),追加到图片结束标记之后。
提取时反向操作:找到结束标记,读出数据包,解密,还原文件。全程在你的浏览器里完成,文件不经过任何服务器。
隐写的边界:它保护什么、不保护什么
- 它保护的是"看不见":路人只看到一张普通图片,不会意识到里面有东西;
- 真正的安全来自密码:隐写只是"藏",加密才是"锁"。不设密码的图片,懂方法的人可以直接取出文件;
- 它不抵抗压缩:图片一旦被微信、QQ 等平台压缩转码,尾部数据会被抹掉——这是追加式隐写的天生短板,也是图匣反复提醒"请发原图"的原因(详见这篇);
- 它不抵抗专业检测:文件体积异常、尾部熵值异常,都可能被分析工具发现。别指望用它对抗审查或取证。
提醒:隐写术是中立技术。请只把它用在合法场景——学习研究、日常文件分享、给作品加水印溯源等(完整约定见
服务条款)。
打开图匣试试 →
下一篇:为什么微信发图会"洗掉"隐藏文件 →
相关阅读:使用介绍 · 常见问题