在 PHP 中加密 PNG 图像内容


Encrypt PNG image contents in PHP

我想在PHP中加密PNG文件(不是标题(的内容。

加密 (RSA( 后,IDAT 区块(包含有关像素的信息(的大小会发生变化。所以我想到手动更改这些二进制数据(块的长度,整个块和校验和(。宽度、高度、颜色深度等特定信息将保持不变(未加密(。

只是想知道是否有一个函数可以为我创建整个标头,并允许插入二进制数据作为内容(计算校验和以便正确显示图像(还是我必须自己做?

最近我在C++做了类似的事情。我没有更改 IDAT,而是添加了自定义块(命名为 eg.xRSA(使用压缩和加密的图像(无论如何,这样的加密是特定于应用程序的(。

我能够使用第三方库最初将图像(灰色背景和通知此图像已加密的文本(保存在 PNG 中。然后我用自定义块附加了这个文件(记住 IEND 块(。

在PHP中遵循这种方式,您可以使用imagecreatetruecolor(((通常为GD(生成背景(可能不完全是灰色,但有些噪音看起来更酷(,然后在自定义块中添加原始加密图像。

对不起我的英语,我希望我能有所帮助。