重要文件加密的方法有很多種,例如:winrar壓縮加密,加密軟件等,但將文件隱藏到一副圖片里面,一般人想不到里面有文件隱藏著吧,哇哈哈!將文件隱藏到一副圖片的方法很多,常見的有以下三種方法:
1、將文件寫入到圖片的尾部,這個方法比較簡單,效果也還不錯,但有時候比較容易露餡兒,比如圖片的分辨率明明很低但是文件卻有好幾兆大小。
2、在不影響圖片整體效果的前提下修改特定比特位,實現(xiàn)將文件隱藏的效果。這種方法隱藏的效果是最好的,但缺點是隱藏的內(nèi)容很有限,而且能隱藏文件的大小和圖片的內(nèi)容也有關(guān)系。
3、在保留位圖頭文件的前提下替換位圖的數(shù)據(jù)為所要隱藏的數(shù)據(jù),缺點是生成的文件是雜亂的,由一個個雜色點所組成的圖片,沒有任何意義的圖片。
這三種方法是最常見的,而我的方法與這些都不同,主要的優(yōu)點是圖片的體積近乎等于所隱藏文件的體積,而且分辨率隨著文件大小的而變化,完全符合圖片格式規(guī)范……
首先介紹一下隱藏的原理吧:
BMP文件頭 | BMP信息頭 | 調(diào)色板 | 文件后綴 | 文件長度 | 圖片數(shù)據(jù)
各部分所代表的含義就不做詳細(xì)說明了,有興趣的同學(xué)可以去查詢相關(guān)資料。為什么要介紹位圖文件的結(jié)構(gòu)呢,因為我的隱藏方法需要對這里的調(diào)色板做手腳……
這樣我們看到的圖片才是五彩斑斕的。但是如果我們把這個調(diào)色板里所有的顏色都設(shè)定為同一種顏色,如下圖,那會怎么樣??
大家應(yīng)該已經(jīng)猜到了,圖片不再是五彩斑斕的了,而是變成了一幅純色的圖片,不管圖片數(shù)據(jù)區(qū)的內(nèi)容如何修改,這都是一幅純色的圖片,說到這里,大家有明白隱藏文件的方法沒?
好了,原理就講到這里了,理解也好沒理解也罷,直接給出程序。
程序很簡單,點瀏覽選擇你要隱藏的文件,點顏色選擇輸出圖片的顏色,然后點開始就可以了,下方會有進(jìn)度條提示轉(zhuǎn)換進(jìn)度。程序根目錄下還有一個由4096個0和1組成的名為zw.txt的文件,這個文件你可以認(rèn)為是一個密碼,因為這個程序在隱藏數(shù)據(jù)的同時還對數(shù)據(jù)進(jìn)行了加密,加密的算法是我在大學(xué)的時候和幾個同學(xué)一起設(shè)計的一種基于MD5和矩陣變換的算法,如果zw.txt的內(nèi)容和加密時不同是無法解密的。
zw.txt的內(nèi)容可以修改,但必須只能由0和1組成,且固定4096個。
點擊開始之后就會在所選文件目錄生成一個同名的bmp文件,如果要提取文件操作相同,只不過選取的文件是加密后的文件而已。
加密后的文件類似下圖,只不過顏色可以由你自己決定。隱藏文件的大小直接決定了最后輸出圖像文件的大小。怎么樣,隱藏的還是比較深的吧,僅僅是一幅純色的圖片,誰又知道他其實別有洞天呢……