我使用http://github.com/anirudhsama将文本文件隐藏在图像中,它工作正常,我可以用我的程序再次提取文本文件.
但是当我以编程方式在Facebook,Twitter和电子邮件中共享图像时,该共享图像无法正确解码,因此我没有收回该文件.
我按如下方式检索图像:
UIImage *finalImageWithStegno = [UIImage imageWithContentsOfFile:fileName];
Run Code Online (Sandbox Code Playgroud)
我怀疑它是上传到网站时的图像压缩.检查此问题的一种简单方法是在封面图像中隐藏消息(获取隐秘图像).在网站上传图像并下载.将原始隐秘图像与下载的图像进行比较.如果它们不同(逐字节),则存在问题.
通过快速查看代码,应用程序似乎隐藏了空间域中的数据,这不是很健壮.您的消息直接隐藏在图像像素中,如果它们发生变化(由于有损压缩,模糊等),您的消息将会丢失.对此的解决方案是隐藏频域中的数据.另一种解决方案是使用不会被压缩的文件类型上传图像?我不太清楚网站如何处理图像,所以第二个建议可能是不可能的.
在任何情况下,如果上传到网站扭曲图像,请四处寻找可能为您服务的其他应用程序,除非您可以自己编码.然后我们就可以了解细节.:)
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |