我們可以通過以下方式隱藏圖像中的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