本發(fā)明涉及數(shù)據(jù)信息處理技術(shù)領(lǐng)域,具體涉及一種圖片加密存儲方法。
背景技術(shù):
隨著社會和企業(yè)信息化的進程,人們更加依賴網(wǎng)絡(luò)帶來的方便和快捷。個人和大部分企業(yè)建立了計算機網(wǎng)絡(luò),辦公系統(tǒng)逐漸普及,越來越多的商業(yè)領(lǐng)域依托網(wǎng)絡(luò)而發(fā)展,網(wǎng)絡(luò)已成為人們生活、社會和企業(yè)運轉(zhuǎn)不可或缺的一部分,同時也給信息安全帶來了新的問題。常用的一種圖片加密存儲方法為分段存儲將一個圖片文件分成多個文件進行儲存,這種方法的缺點是:當(dāng)多個文件都泄露時,通過簡單的組合就能得到原來的圖片文件,這種方法的安全性很差;常用的另一種圖片加密存儲方法為對整個圖片文件進行加密,這種方法的缺點是:當(dāng)圖片文件很大時,加密整個圖片文件會耗費服務(wù)器很多的資源,且用時很長。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)存在的以上問題,提供一種圖片加密存儲方法,可以有效的解決圖片在服務(wù)器加密存儲的要求,可以有效的保證圖片存儲的安全性,可以有效的減少圖片加密存儲過程中對服務(wù)器的資源占用和時間消耗,可以有效的減少客戶端在解密獲取圖片過程中服務(wù)器的響應(yīng)時間。
為實現(xiàn)上述技術(shù)目的,達(dá)到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實現(xiàn):
一種圖片加密存儲方法,包括以下步驟:
s1、圖片文件流上傳至服務(wù)器,將圖片文件流讀入內(nèi)存并保存為文件流數(shù)組;
s2、文件流數(shù)組分段,將文件流數(shù)組拆分為文件流第一數(shù)組和文件流第二數(shù)組;
s3、生成密文,用算法加密文件流第一數(shù)組數(shù)據(jù)生成密文;
s4、存儲文件,存儲密文至第一文件,存儲第二數(shù)組數(shù)據(jù)至第二文件。
進一步地,還包括解密步驟,所述解密步驟包括:
j1、獲取第一文件和第二文件,獲取服務(wù)器上的第一文件和第二文件;
j2、將第一文件和第二文件讀入內(nèi)存,將第一文件的數(shù)據(jù)讀入文件流第一數(shù)組,第二文件的數(shù)據(jù)讀入文件流第二數(shù)組;
j3、生成明文,用算法解密文件流第一數(shù)組數(shù)據(jù)生成明文;
j4、轉(zhuǎn)換數(shù)組數(shù)據(jù)為圖片,合并明文和文件流第二數(shù)組數(shù)據(jù)得到文件流第三數(shù)組數(shù)據(jù),轉(zhuǎn)換文件流第三數(shù)組數(shù)據(jù)為圖片。
進一步地,所述算法為aes算法。
進一步地,步驟s3中的用算法加密文件流第一數(shù)組數(shù)據(jù)的步驟包括:
生成擴展密鑰,用密鑰擴展程序生成擴展密鑰;
加密數(shù)據(jù),用aes加密算法和擴展密鑰加密第一數(shù)組數(shù)據(jù)。
進一步地,所述擴展密鑰長度為128比特。
進一步地,步驟j3中的用算法解密文件流第一數(shù)組數(shù)據(jù)的步驟包括:
獲取擴展密鑰;
解密數(shù)據(jù),用aes解密算法和擴展密鑰解密第一數(shù)組數(shù)據(jù)。
進一步地,所述文件流數(shù)組分段為使用隨機函數(shù)確定文件流第一數(shù)組和文件流第二數(shù)組的長度。
本發(fā)明的有益效果是:本發(fā)明提供一種圖片加密存儲方法,包括步驟圖片文件流上傳至服務(wù)器,文件流數(shù)組分段,將文件流數(shù)組拆分為文件流第一數(shù)組和文件流第二數(shù)組,生成密文,用算法加密文件流第一數(shù)組數(shù)據(jù)生成密文,存儲密文至第一文件,存儲第二數(shù)組數(shù)據(jù)至第二文件,解密步驟,可以有效的解決圖片在服務(wù)器加密存儲的要求,可以有效的保證圖片存儲的安全性,只加密圖片文件的部分?jǐn)?shù)據(jù),可以有效的減少圖片加密存儲過程中對服務(wù)器資源的占用和時間消耗,可以有效的減少客戶端在解密獲取圖片過程中服務(wù)器的響應(yīng)時間。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,并可依照說明書的內(nèi)容予以實施,以下以本發(fā)明的較佳實施例并配合附圖詳細(xì)說明如后。本發(fā)明的具體實施方式由以下實施例及其附圖詳細(xì)給出。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是本發(fā)明的一種圖片加密存儲方法的流程圖;
圖2是本發(fā)明的一種圖片加密存儲方法的解密步驟流程圖;
圖3是本發(fā)明的一種圖片加密存儲方法的aes加密算法流程圖;
圖4是本發(fā)明的一種圖片加密存儲方法的aes解密算法流程圖。
具體實施方式
下面將參考附圖并結(jié)合實施例,來詳細(xì)說明本發(fā)明。
參照圖1-4所示,一種圖片加密存儲方法,如圖1所示,包括以下步驟:
s1、圖片文件流上傳至服務(wù)器,將圖片文件流讀入內(nèi)存并保存為文件流數(shù)組;優(yōu)選地,在一實施例中,將圖片文件流上傳至服務(wù)器,將圖片文件流讀入內(nèi)存并保存為文件流字節(jié)數(shù)組。
s2、文件流數(shù)組分段,將文件流數(shù)組拆分為文件流第一數(shù)組和文件流第二數(shù)組;優(yōu)選地,在一實施例中,將文件流字節(jié)數(shù)組拆分為文件流字節(jié)第一數(shù)組和文件流字節(jié)第二數(shù)組,使用隨機函數(shù)random確定文件流字節(jié)第一數(shù)組和文件流字節(jié)第二數(shù)組的長度。
s3、生成密文,用算法加密文件流第一數(shù)組數(shù)據(jù)生成密文;優(yōu)選地;在一實施例中,用aes算法加密文件流字節(jié)第一數(shù)組數(shù)據(jù)生成密文。
在一實施例中,如圖3所示,步驟s3中的用算法加密文件流第一數(shù)組數(shù)據(jù)的步驟包括:讀取文件流第一數(shù)組數(shù)據(jù),讀取密鑰,由于密鑰的長度有限,在aes算法中使用一個密鑰擴展程序把密鑰擴展成更長的比特串,即生成擴展密鑰,擴展密鑰用來生成用aes算法加密過程中各輪的加密密鑰,優(yōu)選地,擴展密鑰長度為128比特,利用aes加密算法的輪變換和最后輪變換對文件進行加密,生成密文。
s4、存儲文件,存儲密文至第一文件,存儲第二數(shù)組數(shù)據(jù)至第二文件;在一實施例中,用aes加密算法對文件流第一數(shù)組數(shù)據(jù)加密后的密文存儲到第一文件,未加密的文件流第二數(shù)組數(shù)據(jù)存儲至第二文件;
優(yōu)選地,還包括解密步驟,如圖2所示,解密步驟包括:
j1、獲取第一文件和第二文件,獲取服務(wù)器上的第一文件和第二文件;優(yōu)選地,在一實施例中,從服務(wù)器獲取用aes加密算法的第一文件和未加密的第二文件;
j2、將第一文件和第二文件讀入內(nèi)存,將第一文件的數(shù)據(jù)讀入文件流第一數(shù)組,第二文件的數(shù)據(jù)讀入文件流第二數(shù)組;
j3、生成明文,用算法解密文件流第一數(shù)組數(shù)據(jù)生成明文,優(yōu)選地;在一實施例中,用aes算法解密文件流第一數(shù)組數(shù)據(jù)生成明文;
在一實施例中,如圖4所示,步驟j3中的用算法解密文件流第一數(shù)組數(shù)據(jù)的步驟包括:讀取文件流第一數(shù)組數(shù)據(jù),獲取擴展密鑰,用擴展密鑰生成aes算法解密過程中各輪的解密密鑰,優(yōu)選地,擴展密鑰長度為128比特,利用aes解密算法的輪變換和最后輪變換對文件進行解密,生成明文。
j4、轉(zhuǎn)換數(shù)組數(shù)據(jù)為圖片,合并明文和文件流第二數(shù)組數(shù)據(jù)得到文件流第三數(shù)組數(shù)據(jù),轉(zhuǎn)換文件流第三數(shù)組數(shù)據(jù)為圖片;在一實施例中,合并用aes解密算法對文件流第一數(shù)組數(shù)據(jù)解密后的明文和未解密的文件流第二數(shù)組數(shù)據(jù)得到文件流第三數(shù)組數(shù)據(jù),轉(zhuǎn)換文件流第三數(shù)組數(shù)據(jù)為圖片。
本發(fā)明提供一種圖片加密存儲方法,包括步驟圖片文件流上傳至服務(wù)器,文件流數(shù)組分段,生成密文,存儲密文至第一文件,存儲第二數(shù)組數(shù)據(jù)至第二文件,解密步驟,可以有效的解決圖片在服務(wù)器加密存儲的要求,可以有效的保證圖片存儲的安全性,只加密圖片文件的部分?jǐn)?shù)據(jù),可以有效的減少圖片加密存儲過程中對服務(wù)器資源的占用和時間消耗,可以有效的減少客戶端在解密獲取圖片過程中服務(wù)器的響應(yīng)時間。
以上,僅為本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制;凡本行業(yè)的普通技術(shù)人員均可按說明書附圖所示和以上而順暢地實施本發(fā)明;但是,凡熟悉本專業(yè)的技術(shù)人員在不脫離本發(fā)明技術(shù)方案范圍內(nèi),利用以上所揭示的技術(shù)內(nèi)容而做出的些許更動、修飾與演變的等同變化,均為本發(fā)明的等效實施例;同時,凡依據(jù)本發(fā)明的實質(zhì)技術(shù)對以上實施例所作的任何等同變化的更動、修飾與演變等,均仍屬于本發(fā)明的技術(shù)方案的保護范圍之內(nèi)。