做了个图片隐写的玩具

所谓图片隐写,将要隐藏的文字写入图片中,并且让肉眼不可查。早期在windows上有copy这种命令可以实现把一段文本和图片合并,但这种做法显然隐秘性和兼容性都不好,我这里用的是另外一种思路。

原理比较简单,将输入的文本转为二进制字符串,然后和图片的RGB像素奇偶对应。 比如: 图片前三个像素RGB的值为(222,111,23),(222,10,23)(1,58,40),规则为1对奇0对偶,则这三个像素对应存储的二进制为 011001100。

现在已知一个二进制串,只需要对图片像素进行微调,即可记录下这串二进制字符串,这个像素微调对人眼来说是无法区分的。 提取文本则是进行一个反向运算。

经过处理的图片和原图在肉眼上几乎没有区别,并且在体积上不会造成明显膨胀。 (处理后的体积可能略微膨胀,甚至会变小,取决于原图色彩的复杂度) 理论上最大可支持几十M文本

APP截图 hide

原图: yaofan

经过处理的图片:

处理的图片中隐藏了这么一句话:“ 组织上已经决定了,今天的垃圾都归你”

软件使用Java开发,跨平台,源码开放,理解了原理后,也完全可以参考源码使用其它语言实现。 软件地址:https://github.com/iminto/hideImage 下载地址:https://github.com/iminto/hideImage/releases

我还知道一个图片隐写软件,它的开发者的网站真的很漂亮,软件也很漂亮:

Snipaste_2019-09-21_17-02-30