仅仅将这些信息添加为 JPEG EXIF 数据,您可能会获得很好的效果,这些数据可以在大多数现代图像处理中幸存下来……但很容易被想要删除它的人删除。(缺点:PNG、GIF 和 JPEG 2000 不支持 EXIF。请参阅下面的 XMP 更新,它没有这个问题。)
重申一下,EXIF 数据组织得很好,易于查看,易于删除(或修改),因此它不是安全解决方案,但我认为您不会找到一个可行的安全解决方案而不给图像加水印。
如果您不希望人们看到内容,请将其加密或使用需要在您的数据库中查找的代码。然后有人可以做的就是删除它或修改它(这将破坏它)。
当然,如果数据库在桌面上,您也许可以保存图像的 32x32 像素灰度版本并将其用作哈希(您会惊讶于碰撞次数很少)。这将在调整大小和较小的颜色校正后仍然存在,但它不会在激进的裁剪或其他操作中存在。
EXIF 和 db 不是互斥的;你可以两者都做。
更新:我写了这篇关于 EXIF 的文章,它得到了很好的理解和支持,但只支持 JPEG。您可以考虑XMP,它支持几乎所有的图像类型(以及其他类型,例如 PDF 和 MP3)。我不确定它是否能够在可能不支持它的编辑器所做的编辑中幸存下来,但它看起来很受支持。
XMP 维基百科文章没有提到ImageMagick支持,快速的网络搜索显示ImageMagick 可能支持 XMP 数据;您需要在部署之前验证这一点。如果 ImageMagick 的编辑最终将其删除,我建议不要使用 XMP。(ImageMagick 在 Web 应用程序和 shell 脚本中非常常见。)