我们可以通过以下方式隐藏图像中的rar/zip文件。这个概念被称为隐写术。使用Java从图像中提取隐藏文件
假设我想隐藏图像中的RAR文件,我会写在Windows命令命令提示符
copy /b image.jpg+as.zip hidden.jpg
现在要回的内容,我们可以用Winrar/7zip的或任何其他实用程序打开hidden.jpg,它会显示其所有内容
我们读一个zip文件我用这java代码
try{
File file=new File(name);
ZipFile zipFile=new ZipFile(file);
Enumeration<? extends ZipEntry>enumeration=zipFile.entries();
System.out.println("Listing Entries in the zipfile");
while(enumeration.hasMoreElements()){
Object key=enumeration.nextElement();
System.out.println(key.toString()+":"+zipFile.getEntry(key.toString()));
}
zipFile.close();
}catch(Exception e){
System.out.println(e.toString());
}
此代码工作正常进行正常的zip文件/但是当我尝试用这段代码打开“hidden.jpg”文件时,它会导致错误。我也使用Apache Common Compress Library进行了相同的测试。任何人都可以用某种方式指出我如何在Java中做到这一点?
我相信这是可以做到的原因,我们可以看到使用工具隐藏文件,如WinRAR的
隐写术是关于以隐藏的方式隐藏数据,以便某人不知道什么是隐藏起来的。在文件末尾追加数据仍被视为隐写术,即使它不会欺骗一些更有经验的人。还有许多隐写算法,如果载体文件被编辑和/或重新保存,隐藏的数据会遭受失真。像素lsb替换将图像保存为jpeg是一个很好的例子。还是隐写术,只是不健壮。 – Reti43 2015-04-05 09:53:02