如何在PHP中实现隐写术

7

我发现了隐写术..这是一种在其他信息中存储或隐藏信息的方式..有时候也会使用某些图像来隐藏信息..能否给我一个例子或更多的信息来了解如何实现它..或者是否可能在php中使用它


这是一个非常广泛的问题,而且没有很好地分类。请添加适当的标签(PHP等)。 - Kenaniah
你能解释一下为什么你想要在图片中隐藏信息吗?如果你想保护你的图片,那么你必须使用一些对图像变换来说比较强大的技术。许多天真的隐写技术很容易被基本的图像转换破解。 - Tom Duckering
事实上,您并没有明确表示您想要在图像中隐藏信息。到目前为止,我们都假设是这种情况。 - Tom Duckering
我只是有点好奇想知道这是如何完成的。 - Sachindra
4个回答

7
通常,如果你谈论隐写术,那么基本上你是在将信息塞进图像文件的角落和缝隙中。只要图像库不会严格根据模式验证图像文件,你就可以使用几乎任何图像库。你可以使用几乎任何你喜欢的编程语言。
有许多技术可供选择。以下是一些易于编程的技术:
- 使用将图像存储在块中的图像格式。您可以移动块以允许文件中的间隙。您可以在这些间隙中隐藏信息字符串。 - 将图像转换为索引图像。声明一个比颜色数量更大的调色板。现在,您可以在未使用图像的调色板颜色中隐藏额外的信息。 - 如果您使用具有图层的图像格式,则可以声明一个alpha通道最大的图层。这会导致该层完全透明。您可以使用另一个颜色通道来隐藏数据。
还有许多其他技术。记得使用大量压缩和随机误导数据,使图像文件看起来合法。

谢谢:)我的浏览器拼写检查字典里没有隐写术(Opera 10英文版)。已更正回答。 - Andrew Keith

5

4

一种常见的隐写术方法:

假设有一张 1024 x 768,24位色彩(即8位红色,8位黄色,8位蓝色)的图片。现在,图像中颜色的最低有效位不重要。因此,每个像素可以隐藏三位信息。

这样,在不会过多损坏图像的情况下,可以在大的图像中隐藏 1024 * 768 * 3 / 8,即 294,912 字节的信息。


2
24位色深的位图在网络上并不常见。 - Tom Duckering
1
@Tom。PNG使用无损压缩,所以我认为一个24位的PNG图片(这在常见情况下)可以用于这种方式? - Atli
是的,没错。感谢您澄清。这对于任何无损压缩的位图都是正确的。 - Tom Duckering

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接