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