Objective c 如何使用C中的隐写术在PNG中隐藏4个字母数字字符?

Objective c 如何使用C中的隐写术在PNG中隐藏4个字母数字字符?,objective-c,c,png,hide,steganography,Objective C,C,Png,Hide,Steganography,我已经看到了大量的示例代码,这些代码比我想要做的要多得多,而且它的开销似乎比我想要的要大(也许这是不可避免的) 我只想在PNG文件中隐藏/检索4个字母的消息(word)。这4个字母永远不会改变。它将始终是相同的4个字母。它的目的只是作为一种简单的指纹。我看到的所有示例都非常复杂,涉及压缩文本文件等 有人知道已经编写的与这种努力相关的任何示例代码吗?任何语言都可以——我的语言最终需要是C或Obj-C。要在文件中隐藏数据,必须了解其中的预期内容。例如,如果您试图隐藏内容的文件具有较大的纯色区域,则即

我已经看到了大量的示例代码,这些代码比我想要做的要多得多,而且它的开销似乎比我想要的要大(也许这是不可避免的)

我只想在PNG文件中隐藏/检索4个字母的消息(word)。这4个字母永远不会改变。它将始终是相同的4个字母。它的目的只是作为一种简单的指纹。我看到的所有示例都非常复杂,涉及压缩文本文件等


有人知道已经编写的与这种努力相关的任何示例代码吗?任何语言都可以——我的语言最终需要是C或Obj-C。

要在文件中隐藏数据,必须了解其中的预期内容。例如,如果您试图隐藏内容的文件具有较大的纯色区域,则即使将一个像素更改为相邻的颜色也可能是明显的

如果假设单个像素向相邻颜色的偏移不明显,则可以通过将像素的每个红色、绿色或蓝色分量的LSB伪随机分配到20个存储箱中的一个,然后计算每个存储箱中的偶数或奇数个像素分量是否设置了LSB,将4个字母(20位)存储在一个文件中。如果某个存储单元的奇偶校验与该存储单元的期望值不匹配,则从指定给该存储单元的像素组件中任意/随机选取一个像素组件,并任意/随机地将其递增或递减一(如果为0,则必须递增;如果为FF,则递减)


解码需要知道像素组件到20个存储箱的映射,但即使给定大量未更改和更改的文件对,也不允许一个人获得足够的信息来解码任意文件。

如果你只需要一个指纹,你是否考虑过只添加一个文本块?这当然不会很隐蔽,但可能足以满足您的需要?您当然可以使用任何免费提供的现有隐写术工具->,即。