我看到了一堆示例代码,它们比我想做的要多得多,而且开销似乎比我想的要多(也许这是不可避免的)。
我只想在PNG文件中隐藏/检索4个字母的消息(word)这四个字母永远不会变它将始终是相同的4个字母它的目的只是作为一种简单的指纹我看到的所有例子都非常复杂,涉及压缩文本文件等。
有人知道已经编写的任何与这种努力相关的示例代码吗任何语言都是好的——我的最终需要是C或Obj-C。
最佳答案
要在文件中隐藏数据,必须知道文件中的预期内容例如,如果您试图隐藏的文件有很大的纯色区域,则将一个像素更改为相邻的颜色可能会很明显。
如果假设单个像素向相邻颜色的偏移不会明显,则可以通过伪随机地将像素的每个红、绿或蓝分量的LSB分配给20个容器中的一个,然后计算每个容器中像素分量的偶数或奇数是否设置了LSB,来在文件中存储4个字母(20位)如果一个bin的奇偶性与一个bin的期望值不匹配,则从分配给该bin的像素组件中任意/随机地选取一个像素组件,并任意/随机地将其增加或减少一个像素组件(如果为0,则必须增加;如果为FF,则减少)。
解码需要知道像素组件到20个存储箱的映射,但即使给定许多未经更改和更改的文件对,也不允许预测足够的信息来解码任意文件。