我试着用Mac终端中的stepic解码一个隐写字:
stepic --decode --image-in=goldfish.bmp --out=goldfish.txt这个在线文件是一个JPEG文件,但为了避免我尝试下载它作为一个.psd,然后是一个.bmp文件,但它仍然知道它是一个JPEG。
他们是否有办法使这个工作,或者我需要一个不同的python模块?在后一种情况下是什么模块。谢谢。
发布于 2015-01-03 21:54:49
我主要是把我的意见转换为一个答复后,进一步澄清的意见。
Stepic将信息直接嵌入到图像的像素上。有损耗的格式,如jpeg,将改变这些像素中的一些,从而破坏您的秘密。只有无损格式(如bmp和png )才适合此应用程序。
由于你的朋友编码了你的信息,而你是隐藏图像的接收者,有两个地方这个过程出错了。或者你的朋友将图像保存到jpeg (从文档中还不清楚程序是否允许这样做),或者他是个好孩子,但是上传到一个网站后,该网站重新编码到jpeg。
你应该问他和/或上传一个非jpeg图片到网站,并下载回来,并检查文件之间的差异。如果两个文件是相同的,则下面的python脚本将逐字节打印true。
a = open('filename before upload', 'rb').read()
b = open('filename after download', 'rb').read()
print a == b如果将图像保存到jpeg,只需建议您的朋友使用合适的格式。如果在上传过程中对图像进行了修改,则必须使用不同的上传服务,该服务不会以有损图像的方式重新编码图像,例如保存到不同的格式、裁剪或调整大小,或者您必须使用一种隐写算法,这样您的秘密才能经受这种修改。这被称为鲁棒隐写,并且有很多文献描述了这样的算法,尽管您可能不太容易找到它们的源代码。
如果您特别感兴趣的是在jpeg图像中嵌入一个秘密,则必须查找jpeg隐写。
然而,根据常见问题,推荐这样的工具或软件被认为是off-topic。
https://stackoverflow.com/questions/27759324
复制相似问题