-->

PHP的隐秘图像几乎相同的开始(php image steganography nearly sam

2019-10-29 02:40发布

我工作的编码给定的文本,并隐藏在一个图像使用PHP脚本LSB 。 但编码文本是一个字节数组(使用的Rijndael-256 mcrypt的,然后用解包(“C *”解包,$ encryptedText文本加密的);)我有TP在阵列的开头添加阵列尺寸。 如果我不这样做,从图像读取的字节数再次将是可怕的后面,因为脚本不知道在哪里停止阅读。 我说大小的信息在使用这些代码行的阵列的开头:

$size = count($byteArray); array_unshift($byteArray, $size >> 24, ($size & 0xff0000) >> 16, ($size & 0xff00) >> 8, $size & 0xff);

这样大小的整数格式(4字节),加,但现在每创造将有特色的是,第一隐藏字节用零开始居多,besause $大小的图像大多在60000以下的范围。 有没有什么办法,我可以编码大小或更改程序的其他部分,使其工作和bytearry开始时几乎没有每次都一样吗?

Answer 1:

而不是总是具有编码的消息是多久前4个字节,则可以使用最后两位,从第一个字节编码,你需要多少字节来读取$size 。 说,00 = 1,01 = 2,10 = 3和11 = 4。例如,如果$size足够小,以仅使用两个字节,第一个几个字节将读取如下来表示:

  • 第一字节:xxxxxx01
  • 第二和第三个字节:$尺寸
  • 第四个字节及以后:ByteArray将...

您可以通过使用随机嵌入方法还香料的东西。 您可以使用一个伪随机数发生器,或混沌映射,如物流地图 ,或帐篷映射 。 种子或初始条件参数将通过接收被要求以何种顺序来读取字节提取消息解密。 例如,考虑5个字节来嵌入数据和在0和1之间产生5个号码。

(0.2843,0.5643,0.0904,0.4308,0.9866)

按升序排序号码给你下面的顺序,您可以使用嵌入你的秘密:

(3,1,4,2,5)



文章来源: php image steganography nearly same start