两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

文件加密方法和裝置、文件解密方法和裝置與流程

文檔序號(hào):11234377閱讀:413來源:國知局
文件加密方法和裝置、文件解密方法和裝置與流程

本發(fā)明涉及數(shù)據(jù)安全技術(shù)領(lǐng)域,特別是涉及一種文件加密方法和裝置、文件解密方法和裝置。



背景技術(shù):

在一些應(yīng)用場景中,需要對(duì)文件進(jìn)行加密保護(hù),以避免文件內(nèi)容被非法獲取。比如流媒體文件存儲(chǔ)在用戶終端本地時(shí),被要求進(jìn)行加密處理,第三方應(yīng)用程序就無法獲取到流媒體文件的內(nèi)容,有利于版權(quán)保護(hù)。

然而,目前文件加密主要采用的方式是對(duì)文件進(jìn)行全文二進(jìn)制加密,相應(yīng)的解密方式時(shí)則是對(duì)加密文件進(jìn)行全文二進(jìn)制解密,加密和解密過程對(duì)中央處理器消耗都非常大,加密和解密的時(shí)間成本高。



技術(shù)實(shí)現(xiàn)要素:

基于此,有必要針對(duì)目前對(duì)文件加密采用全文二進(jìn)制加密、解密采用全文二進(jìn)制解密對(duì)中央處理器消耗大從而導(dǎo)致加密和解密時(shí)間成本高的問題,提供一種文件加密方法和裝置、文件解密方法和裝置。

一種文件加密方法,所述方法包括:

獲取待加密的原文件;

對(duì)所述原文件的頭部數(shù)據(jù)加密獲得頭部加密數(shù)據(jù)并存儲(chǔ),對(duì)應(yīng)于所述原文件的文件標(biāo)識(shí)記錄所述頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑;所述頭部數(shù)據(jù)包括所述原文件的元數(shù)據(jù);

將所述原文件中除所述頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段;

將分割出的各個(gè)所述片段進(jìn)行混淆片段順序的存儲(chǔ);

對(duì)應(yīng)于所述文件標(biāo)識(shí)記錄各個(gè)所述片段的第二存儲(chǔ)路徑以及各個(gè)所述片段在所述原文件中的順序。

一種文件加密裝置,所述裝置包括:

原文件獲取模塊,用于獲取待加密的原文件;

頭部數(shù)據(jù)加密模塊,用于對(duì)所述原文件的頭部數(shù)據(jù)加密獲得頭部加密數(shù)據(jù)并存儲(chǔ);所述頭部數(shù)據(jù)包括所述原文件的元數(shù)據(jù);

分割模塊,用于將所述原文件中除所述頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段;

混淆片段順序存儲(chǔ)模塊,用于將分割出的各個(gè)所述片段進(jìn)行混淆片段順序的存儲(chǔ);

記錄模塊,用于對(duì)應(yīng)于所述原文件的文件標(biāo)識(shí)記錄所述頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑;對(duì)應(yīng)于所述文件標(biāo)識(shí)記錄各個(gè)所述片段的第二存儲(chǔ)路徑以及各個(gè)所述片段在所述原文件中的順序。

上述文件加密方法和裝置,在對(duì)原文件進(jìn)行加密時(shí),僅加密原文件的頭部數(shù)據(jù),加密計(jì)算的數(shù)據(jù)量小,而原文件中除頭部數(shù)據(jù)之外的文件數(shù)據(jù)則分割成多個(gè)片段后通過混淆片段順序的方式進(jìn)行存儲(chǔ),分割和混淆片段順序存儲(chǔ)的計(jì)算量小,相較于目前全文二進(jìn)制加密的加密方式,通過該文件加密方法和裝置可顯著減少對(duì)中央處理器的消耗,加密時(shí)間成本低。記錄第一存儲(chǔ)路徑、第二存儲(chǔ)路徑和片段的順序則使得文件被加密后可被解密。而且元數(shù)據(jù)用于描述原文件中的數(shù)據(jù)內(nèi)容,加密的頭部數(shù)據(jù)覆蓋原文件的元數(shù)據(jù),可防止惡意用戶利用元數(shù)據(jù)定位到加密的文件以及獲取到通過混淆片段順序存儲(chǔ)的各個(gè)片段來進(jìn)行加密破解。

一種文件解密方法,所述方法包括:

讀取與待解密的文件標(biāo)識(shí)對(duì)應(yīng)的用于存儲(chǔ)頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑;

根據(jù)所述第一存儲(chǔ)路徑獲取所述頭部加密數(shù)據(jù);

解密所述頭部加密數(shù)據(jù),獲得頭部數(shù)據(jù);所述頭部數(shù)據(jù)包括原文件的元數(shù)據(jù);

讀取與所述文件標(biāo)識(shí)對(duì)應(yīng)的混淆片段順序存儲(chǔ)的各個(gè)片段的第二存儲(chǔ)路徑 和各個(gè)所述片段在原文件中的順序;

根據(jù)所述第二存儲(chǔ)路徑獲取各個(gè)所述片段;

根據(jù)所述順序?qū)⒏鱾€(gè)所述片段與所述頭部數(shù)據(jù)拼接,獲得原文件。

一種文件解密裝置,所述裝置包括:

第一讀取模塊,用于讀取與待解密的文件標(biāo)識(shí)對(duì)應(yīng)的用于存儲(chǔ)頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑;

頭部加密數(shù)據(jù)獲取模塊,用于根據(jù)所述第一存儲(chǔ)路徑獲取所述頭部加密數(shù)據(jù);

頭部加密數(shù)據(jù)解密模塊,用于解密所述頭部加密數(shù)據(jù),獲得頭部數(shù)據(jù);所述頭部數(shù)據(jù)包括原文件的元數(shù)據(jù);

第二讀取模塊,用于讀取與所述文件標(biāo)識(shí)對(duì)應(yīng)的混淆片段順序存儲(chǔ)的各個(gè)片段的第二存儲(chǔ)路徑和各個(gè)所述片段在原文件中的順序;

片段獲取模塊,用于根據(jù)所述第二存儲(chǔ)路徑獲取各個(gè)所述片段;

文件拼接模塊,用于根據(jù)所述順序?qū)⒏鱾€(gè)所述片段與所述頭部數(shù)據(jù)拼接,獲得原文件。

上述文件解密方法和裝置,利用記錄的第一存儲(chǔ)路徑定位到頭部加密數(shù)據(jù)并進(jìn)行解密而獲得頭部數(shù)據(jù),利用記錄的第二存儲(chǔ)路徑定位并獲取到各個(gè)片段,進(jìn)而利用記錄的順序?qū)㈩^部數(shù)據(jù)和各片段進(jìn)行拼接,獲得原文件。解密時(shí)僅需對(duì)頭部加密數(shù)據(jù)進(jìn)行解密計(jì)算,解密計(jì)算的數(shù)據(jù)量小,片段拼接的時(shí)間成本少,相較于目前全文二進(jìn)制解密的解密方式,通過該文件解密方法和裝置可顯著減少對(duì)中央處理器的消耗,解密時(shí)間成本低。而且元數(shù)據(jù)用于描述原文件中的數(shù)據(jù)內(nèi)容,加密的頭部數(shù)據(jù)覆蓋原文件的元數(shù)據(jù),可防止惡意用戶利用元數(shù)據(jù)定位到加密的文件以及獲取到通過混淆片段順序存儲(chǔ)的各個(gè)片段來進(jìn)行加密破解。

附圖說明

圖1為一個(gè)實(shí)施例中電子設(shè)備的內(nèi)部結(jié)構(gòu)示意圖;

圖2為一個(gè)實(shí)施例中文件加密方法的流程示意圖;

圖3為一個(gè)實(shí)施例中對(duì)原文件的頭部數(shù)據(jù)加密獲得頭部加密數(shù)據(jù)并存儲(chǔ),對(duì)應(yīng)于原文件的文件標(biāo)識(shí)記錄頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑的步驟的流程示意圖;

圖4為另一個(gè)實(shí)施例中文件加密方法的流程示意圖;

圖5為一個(gè)實(shí)施例中文件解密方法的流程示意圖;

圖6為一個(gè)實(shí)施例中文件加密裝置的結(jié)構(gòu)框圖;

圖7為另一個(gè)實(shí)施例中文件加密裝置的結(jié)構(gòu)框圖;

圖8為一個(gè)實(shí)施例中文件解密裝置的結(jié)構(gòu)框圖;

圖9為另一個(gè)實(shí)施例中文件解密裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

如圖1所示,在一個(gè)實(shí)施例中,提供了一種電子設(shè)備,包括通過系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、內(nèi)存儲(chǔ)器、網(wǎng)絡(luò)接口和音頻輸出接口。其中處理器具有計(jì)算功能和控制電子設(shè)備工作的功能,該處理器被配置為執(zhí)行一種文件加密方法和文件解密方法。非易失性存儲(chǔ)介質(zhì)包括磁存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)以及閃存式存儲(chǔ)介質(zhì)。非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng),還存儲(chǔ)有文件加密裝置和文件解密裝置,該文件加密裝置用于實(shí)現(xiàn)一種文件加密方法,該文件解密裝置用于實(shí)現(xiàn)一種文件解密方法。內(nèi)存儲(chǔ)器用于為操作系統(tǒng)、文件加密裝置和文件解密裝置提供高速緩存。網(wǎng)絡(luò)接口用于連接到網(wǎng)絡(luò),音頻輸出接口用于將處理器處理獲得的音頻數(shù)據(jù)輸出為音頻信號(hào)。

如圖2所示,在一個(gè)實(shí)施例中,提供了一種文件加密方法,本實(shí)施例以該方法應(yīng)用于上述圖1中的電子設(shè)備來舉例說明。該方法具體包括如下步驟:

步驟202,獲取待加密的原文件。

其中,原文件是指未經(jīng)過加密的原始文件,原文件具體可以是媒體文件、圖片、壓縮包文件、文本文件或者富文本文件等。媒體文件包括流媒體文件和本地媒體文件,媒體文件具體比如視頻文件或者音頻文件等。電子設(shè)備具體可通過網(wǎng)絡(luò)下載待加密的原文件,還可以從本地獲取待加密的原文件。

步驟204,對(duì)原文件的頭部數(shù)據(jù)加密獲得頭部加密數(shù)據(jù)并存儲(chǔ),對(duì)應(yīng)于原文件的文件標(biāo)識(shí)記錄頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑;頭部數(shù)據(jù)包括原文件的元數(shù)據(jù)。

其中,頭部數(shù)據(jù)是位于原文件頭部的一部分?jǐn)?shù)據(jù),可根據(jù)需要設(shè)置頭部數(shù)據(jù)的大小,比如可取100kb(kb,千字節(jié)),且要求頭部數(shù)據(jù)覆蓋到原文件的元數(shù)據(jù)。元數(shù)據(jù)(metadata)是指描述該原文件的數(shù)據(jù)內(nèi)容的數(shù)據(jù),比如若原文件為視頻流文件,則元數(shù)據(jù)可包括視頻格式、視頻時(shí)間信息、碼率、文件大小、及導(dǎo)演、演員以及制作單位等。

電子設(shè)備可采用各種二進(jìn)制加密算法對(duì)頭部數(shù)據(jù)進(jìn)行加密,獲得相應(yīng)的頭部加密數(shù)據(jù)。電子設(shè)備加密頭部數(shù)據(jù),具體可采用aes(advancedencryptionstandard,即高級(jí)加密標(biāo)準(zhǔn))算法或者des(dataencryptionstandard,即數(shù)據(jù)加密標(biāo)準(zhǔn))算法等二進(jìn)制加密算法。

電子設(shè)備存儲(chǔ)加密所獲得的頭部加密數(shù)據(jù),并在以原文件的文件標(biāo)識(shí)為索引的記錄中記錄該頭部加密數(shù)據(jù)的存儲(chǔ)路徑。為將該存儲(chǔ)路徑與下述的其它存儲(chǔ)路徑相區(qū)分,稱頭部加密數(shù)據(jù)的存儲(chǔ)路徑為第一存儲(chǔ)路徑。原文件的文件標(biāo)識(shí)可唯一標(biāo)識(shí)出相應(yīng)的原文件,可以包括數(shù)字、字母、標(biāo)點(diǎn)符號(hào)以及漢字等字符中的一種或幾種的組合。

步驟206,將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段。

具體地,在一個(gè)實(shí)施例中,電子設(shè)備可按照預(yù)設(shè)的單個(gè)片段大小將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段。比如預(yù)設(shè)的單個(gè)片段大小為1m(兆字節(jié)),則電子設(shè)備可從原文件中除去頭部數(shù)據(jù)之后,再從剩余的文件數(shù)據(jù)逐個(gè)地分割出一個(gè)個(gè)大小為1m的片段,最后不足1m的文件數(shù)據(jù)則是分割出的最后一個(gè)片段。

在一個(gè)實(shí)施例中,電子設(shè)備可將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)等量或隨 機(jī)分割為預(yù)設(shè)數(shù)量的多個(gè)片段。具體地,電子設(shè)備可從原文件中除去頭部數(shù)據(jù)之后,再將剩余的文件數(shù)據(jù)分割為預(yù)設(shè)數(shù)量的片段。分割時(shí)可采用等量分割方式,即分割出的每個(gè)片段的大小相等;也可以采用隨機(jī)分割方式,即隨機(jī)地分配預(yù)設(shè)數(shù)量的片段中每個(gè)片段的大小。

其中,分割出的片段的數(shù)量可根據(jù)加密等級(jí)和/或響應(yīng)時(shí)間等級(jí)進(jìn)行控制,具體若加密等級(jí)越高,則分割出的片段的數(shù)量應(yīng)當(dāng)更多,文件被加密后更難被破解;若加密等級(jí)越低,則分割出的片的數(shù)量可以減少。若響應(yīng)時(shí)間等級(jí)越高,即要求響應(yīng)時(shí)間短,則分割出的數(shù)量應(yīng)當(dāng)減少;若響應(yīng)時(shí)間等級(jí)越低,則可增加分割出的片段的數(shù)量。

步驟208,將分割出的各個(gè)片段進(jìn)行混淆片段順序的存儲(chǔ)。

具體地,電子設(shè)備將分割出的每個(gè)片段獨(dú)立地存儲(chǔ),并且在存儲(chǔ)時(shí)混淆片段順序,從而使得各個(gè)片段被存儲(chǔ)后無法從存儲(chǔ)路徑分辨出各個(gè)片段在原文件中的順序。

在一個(gè)實(shí)施例中,步驟208包括:為每個(gè)片段分配隨機(jī)的新文件名,并在指定文件目錄或者隨機(jī)創(chuàng)建的文件目錄下將每個(gè)片段存儲(chǔ)在以相應(yīng)的新文件名命名的片段文件中。

具體地,電子設(shè)備可生成與片段數(shù)量相等的多個(gè)不同的隨機(jī)字符串,將每個(gè)隨機(jī)字符串分別分配給多個(gè)片段中的其中一個(gè),使得每個(gè)片段具有相應(yīng)的隨機(jī)字符串作為新文件名。電子設(shè)備將每個(gè)片段作為獨(dú)立的文件進(jìn)行存儲(chǔ),該文件稱之為片段文件,并將存儲(chǔ)的片段文件命名為分配的新文件名。

其中片段文件可存儲(chǔ)在指定目錄下,比如創(chuàng)建一個(gè)具有隨機(jī)文件夾名稱的文件夾,從而將分割出的片段文件均存儲(chǔ)在該創(chuàng)建的文件夾下。電子設(shè)備也可以隨機(jī)為每個(gè)片段文件創(chuàng)建新的文件目錄,從而將每個(gè)片段文件存儲(chǔ)在相應(yīng)的文件目錄下,每個(gè)片段文件的文件目錄可以均不相同。

步驟210,對(duì)應(yīng)于文件標(biāo)識(shí)記錄各個(gè)片段的第二存儲(chǔ)路徑以及各個(gè)片段在原文件中的順序。

具體地,電子設(shè)備可在實(shí)施本發(fā)明實(shí)施例的文件加密方法的應(yīng)用的私有數(shù)據(jù)庫中生成一條記錄,該條記錄可以原文件的文件標(biāo)識(shí)為索引,在該條記錄中 存儲(chǔ)第一存儲(chǔ)路徑、第二存儲(chǔ)路徑以及各個(gè)片段在原文件中的順序。其中私有數(shù)據(jù)庫可存儲(chǔ)于本地或者網(wǎng)絡(luò)中,私有數(shù)據(jù)庫的訪問需要經(jīng)過身份驗(yàn)證,可保證安全性。第二存儲(chǔ)路徑是指存儲(chǔ)的片段的存儲(chǔ)路徑。記錄片段的順序具體可按照各片段在原文件中的順序記錄相應(yīng)片段文件名的順序,也可以為每個(gè)片段分配唯一且混淆順序的片段序號(hào),從而按照各片段在原文件中的順序記錄各片段序號(hào)的順序。電子設(shè)備還可以記錄原文件的文件校驗(yàn)值,比如md5(messagedigestalgorithmmd5,即消息摘要算法第五版)值,用以在解密獲得原文件后根據(jù)文件校驗(yàn)值校驗(yàn)原文件的完整性。

在一個(gè)實(shí)施例中,電子設(shè)備還可以將在實(shí)施上述文件加密方法過程中生成的文件進(jìn)行格式偽裝,比如將生成的文件的擴(kuò)展名修改為另一種文件格式的擴(kuò)展名。生成的文件包括頭部加密數(shù)據(jù)所在的文件和各片段所在的文件。在解密時(shí)需要將經(jīng)過格式偽裝的文件進(jìn)行格式還原。

上述文件加密方法,在對(duì)原文件進(jìn)行加密時(shí),僅加密原文件的頭部數(shù)據(jù),加密計(jì)算的數(shù)據(jù)量小,而原文件中除頭部數(shù)據(jù)之外的文件數(shù)據(jù)則分割成多個(gè)片段后通過混淆片段順序的方式進(jìn)行存儲(chǔ),分割和混淆片段順序存儲(chǔ)的計(jì)算量小,相較于目前全文二進(jìn)制加密的加密方式,通過該文件加密方法可顯著減少對(duì)中央處理器的消耗,加密時(shí)間成本低。記錄第一存儲(chǔ)路徑、第二存儲(chǔ)路徑和片段的順序則使得文件被加密后可被解密。而且元數(shù)據(jù)用于描述原文件中的數(shù)據(jù)內(nèi)容,加密的頭部數(shù)據(jù)覆蓋原文件的元數(shù)據(jù),可防止惡意用戶利用元數(shù)據(jù)定位到加密的文件以及獲取到通過混淆片段順序存儲(chǔ)的各個(gè)片段來進(jìn)行加密破解。

如圖3所示,在一個(gè)實(shí)施例中,步驟204具體包括以下步驟:

步驟302,生成隨機(jī)的加密密鑰,根據(jù)加密密鑰對(duì)原文件的頭部數(shù)據(jù)進(jìn)行加密獲得頭部加密數(shù)據(jù)。

具體地,電子設(shè)備可采用隨機(jī)哈希算法生成隨機(jī)的第一哈希值,將該隨機(jī)的第一哈希值作為加密密鑰,進(jìn)而電子設(shè)備可根據(jù)該加密密鑰將明文的頭部數(shù)據(jù)轉(zhuǎn)化為密文的頭部加密數(shù)據(jù)。生成隨機(jī)的加密密鑰可盡量避免被第三方猜解。

步驟304,創(chuàng)建具有隨機(jī)生成的文件名的新文件,并將頭部加密數(shù)據(jù)存儲(chǔ)在新文件中。

具體地,電子設(shè)備可采用隨機(jī)哈希算法生成隨機(jī)的第二哈希值,將該隨機(jī)的第二哈希值作為文件名創(chuàng)建新文件,進(jìn)而將加密獲得的頭部加密數(shù)據(jù)存儲(chǔ)在該新文件中。電子設(shè)備也可以當(dāng)前時(shí)間作為隨機(jī)種子來生成隨機(jī)的文件名。創(chuàng)建具有隨機(jī)文件名的新文件來存儲(chǔ)頭部加密數(shù)據(jù),可進(jìn)一步避免被第三方定位和破解。

步驟306,對(duì)應(yīng)于原文件的文件標(biāo)識(shí)記錄加密密鑰以及新文件的第一存儲(chǔ)路徑。

具體地,電子設(shè)備可在私有數(shù)據(jù)庫中以原文件的文件標(biāo)識(shí)為索引的記錄中存儲(chǔ)加密密鑰以及新文件的第一存儲(chǔ)路徑,以便在解密時(shí)根據(jù)第一存儲(chǔ)路徑定位到頭部加密數(shù)據(jù)所在的文件,并根據(jù)加密密鑰對(duì)頭部加密數(shù)據(jù)進(jìn)行解密。

本實(shí)施例中,生成隨機(jī)的加密密鑰來對(duì)頭部數(shù)據(jù)進(jìn)行加密,可避免加密密鑰被第三方猜解;進(jìn)而生成隨機(jī)的文件名來存儲(chǔ)頭部加密數(shù)據(jù),可防止頭部加密數(shù)據(jù)被輕易獲取到,從而進(jìn)一步保障文件被加密后的安全性。

在一個(gè)實(shí)施例中,原文件為流媒體應(yīng)用所下載的流媒體文件;第一存儲(chǔ)路徑、各個(gè)第二存儲(chǔ)路徑以及順序?qū)?yīng)于文件標(biāo)識(shí)記錄在流媒體應(yīng)用對(duì)應(yīng)的私有數(shù)據(jù)庫中。

如圖4所示,在一個(gè)實(shí)施例中,一種文件加密方法,具體包括如下步驟:

步驟402,通過流媒體應(yīng)用下載待加密的流媒體文件。

具體地,電子設(shè)備可通過流媒體應(yīng)用連接到流媒體服務(wù)器,從而從流媒體服務(wù)器下載流媒體文件作為待加密的流媒體文件。其中流媒體應(yīng)用是指具有處理流媒體能力的應(yīng)用,比如流媒體播放應(yīng)用或者流媒體編輯應(yīng)用等。

步驟404,對(duì)流媒體文件的頭部數(shù)據(jù)加密獲得頭部加密數(shù)據(jù)并存儲(chǔ);頭部數(shù)據(jù)包括流媒體文件的元數(shù)據(jù)。

具體地,電子設(shè)備可生成隨機(jī)的加密密鑰,根據(jù)加密密鑰對(duì)原文件的頭部數(shù)據(jù)進(jìn)行加密獲得頭部加密數(shù)據(jù)。電子設(shè)備可創(chuàng)建具有隨機(jī)生成的文件名的新文件,并將頭部加密數(shù)據(jù)存儲(chǔ)在新文件中。

步驟406,將流媒體文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段。

具體地,電子設(shè)備可按照預(yù)設(shè)的單個(gè)片段大小將原文件中除頭部數(shù)據(jù)的文 件數(shù)據(jù)分割為多個(gè)片段,電子設(shè)備也可以將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)等量或隨機(jī)分割為預(yù)設(shè)數(shù)量的多個(gè)片段。

步驟408,將分割出的各個(gè)片段進(jìn)行混淆片段順序的存儲(chǔ)。

步驟410,對(duì)應(yīng)于流媒體文件的文件標(biāo)識(shí)記錄頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑、各個(gè)片段的第二存儲(chǔ)路徑以及各個(gè)片段在流媒體文件中的順序。

具體地,電子設(shè)備可在流媒體應(yīng)用對(duì)應(yīng)的私有數(shù)據(jù)庫中創(chuàng)建一條以文件標(biāo)識(shí)為索引的記錄,在該記錄中存儲(chǔ)加密密鑰、第一存儲(chǔ)路徑、第二存儲(chǔ)路徑以及各片段在流媒體文件中的順序。

步驟412,刪除流媒體文件。

具體地,電子設(shè)備在完成對(duì)流媒體文件的加密后,刪除流媒體文件。在一個(gè)實(shí)施例中,電子設(shè)備可在下載流媒體文件后播放流媒體文件,同時(shí)執(zhí)行上述步驟402至步驟410,并在播放完畢后刪除下載的流媒體文件。

本實(shí)施例中,針對(duì)流媒體文件版權(quán)保護(hù)的需求,采用本發(fā)明實(shí)施例的文件加密方法可在保證加密性能的同時(shí)提高加密效率,進(jìn)而提高對(duì)流媒體文件進(jìn)行處理的效率。

如圖5所示,在一個(gè)實(shí)施例中,提供了一種文件解密方法,本實(shí)施例以該方法應(yīng)用于上述圖1中的電子設(shè)備來舉例說明。該方法具體包括如下步驟:

步驟502,讀取與待解密的文件標(biāo)識(shí)對(duì)應(yīng)的用于存儲(chǔ)頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑。

具體地,電子設(shè)備可在實(shí)施上述文件加密方法后,再在需要使用原文件時(shí)實(shí)施本實(shí)施例的文件解密方法來還原出原文件。電子設(shè)備具體可獲取待解密的文件標(biāo)識(shí),從應(yīng)用的私有數(shù)據(jù)庫中查找以該文件標(biāo)識(shí)為索引的記錄,并從查找到的記錄中讀取第一存儲(chǔ)路徑和加密密鑰。第一存儲(chǔ)路徑是存儲(chǔ)頭部加密數(shù)據(jù)的路徑。

步驟504,根據(jù)第一存儲(chǔ)路徑獲取頭部加密數(shù)據(jù)。

具體地,電子設(shè)備根據(jù)第一存儲(chǔ)路徑查找到相應(yīng)文件目錄下的文件,進(jìn)而從查找到的文件中讀取頭部加密數(shù)據(jù)。

步驟506,解密頭部加密數(shù)據(jù),獲得頭部數(shù)據(jù);頭部數(shù)據(jù)包括原文件的元數(shù)據(jù)。

具體地,電子設(shè)備可根據(jù)讀取的加密密鑰從頭部加密數(shù)據(jù)中解密出頭部數(shù)據(jù)。解密時(shí)可采用二進(jìn)制解密算法進(jìn)行解密,具體可采用aes算法或者des算法等二進(jìn)制解密算法。

步驟508,讀取與文件標(biāo)識(shí)對(duì)應(yīng)的混淆片段順序存儲(chǔ)的各個(gè)片段的第二存儲(chǔ)路徑和各個(gè)片段在原文件中的順序。

具體地,電子設(shè)備在加密原文件時(shí),將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段,并將分割出的各個(gè)片段進(jìn)行混淆片段順序的存儲(chǔ),從而使得各個(gè)片段被存儲(chǔ)后無法從存儲(chǔ)路徑分辨出各個(gè)片段在原文件中的順序,并將第二存儲(chǔ)路徑和各個(gè)片段在原文件中的順序記錄下來,在解密時(shí)讀取。

步驟510,根據(jù)第二存儲(chǔ)路徑獲取各個(gè)片段。

具體地,電子設(shè)備根據(jù)讀取的第二存儲(chǔ)路徑查找到相應(yīng)文件目錄下的文件,并在查找到的文件中獲取從原文件中分割出的各個(gè)片段。

步驟512,根據(jù)順序?qū)⒏鱾€(gè)片段與頭部數(shù)據(jù)拼接,獲得原文件。

具體地,電子設(shè)備創(chuàng)建一個(gè)臨時(shí)文件,在該臨時(shí)文件中寫入頭部數(shù)據(jù),并在頭部數(shù)據(jù)之后按照順序?qū)⒏鱾€(gè)片段寫入臨時(shí)文件,從而將頭部數(shù)據(jù)和各個(gè)片段拼接,獲得完整的原文件。

在一個(gè)實(shí)施例中,電子設(shè)備還可以讀取與文件標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)的原文件的文件校驗(yàn)值,從而根據(jù)讀取的文件校驗(yàn)值進(jìn)行校驗(yàn),若校驗(yàn)通過則完成解密;若校驗(yàn)未通過則發(fā)出解密出錯(cuò)提示信息。具體在校驗(yàn)時(shí)可計(jì)算拼接獲得的原文件的文件校驗(yàn)值,并將計(jì)算出的文件校驗(yàn)值與讀取的文件校驗(yàn)值進(jìn)行比較,若一致則校驗(yàn)通過,若不一致則校驗(yàn)未通過。

上述文件解密方法,利用記錄的第一存儲(chǔ)路徑定位到頭部加密數(shù)據(jù)并進(jìn)行解密而獲得頭部數(shù)據(jù),利用記錄的第二存儲(chǔ)路徑定位并獲取到各個(gè)片段,進(jìn)而利用記錄的順序?qū)㈩^部數(shù)據(jù)和各片段進(jìn)行拼接,獲得原文件。解密時(shí)僅需對(duì)頭部加密數(shù)據(jù)進(jìn)行解密計(jì)算,解密計(jì)算的數(shù)據(jù)量小,片段拼接的時(shí)間成本少,相較于目前全文二進(jìn)制解密的解密方式,通過該文件解密方法可顯著減少對(duì)中央 處理器的消耗,解密時(shí)間成本低。而且元數(shù)據(jù)用于描述原文件中的數(shù)據(jù)內(nèi)容,加密的頭部數(shù)據(jù)覆蓋原文件的元數(shù)據(jù),可防止惡意用戶利用元數(shù)據(jù)定位到加密的文件以及獲取到通過混淆片段順序存儲(chǔ)的各個(gè)片段來進(jìn)行加密破解。

在一個(gè)實(shí)施例中,原文件為流媒體文件;第一存儲(chǔ)路徑、第二存儲(chǔ)路徑以及順序讀取自流媒體應(yīng)用對(duì)應(yīng)的私有數(shù)據(jù)庫。步驟512之后,還包括:播放原文件,并在播放完畢后清除原文件。

具體地,電子設(shè)備可在需要播放流媒體文件時(shí),根據(jù)相應(yīng)的文件標(biāo)識(shí)進(jìn)行解密獲得流媒體文件,并播放該流媒體文件。該流媒體文件為臨時(shí)文件,在播放完畢后該流媒體文件被清除,若需要再次播放則重新進(jìn)行解密播放。

本實(shí)施例中,將文件解密方法應(yīng)用于流媒體文件的解密,可在保證加密性能的同時(shí)提高解密效率,在需要播放流媒體文件時(shí)進(jìn)行即時(shí)地解密,不會(huì)影響到播放流媒體文件的初次響應(yīng)時(shí)間和播放流暢度,既能起到保護(hù)流媒體文件的效果,又大大減少了加密解密帶來的額外性能消耗,兼顧了安全性和性能,同時(shí)保障了版權(quán)方的權(quán)益和用戶的體驗(yàn)。

如圖6所示,在一個(gè)實(shí)施例中,提供了一種文件加密裝置600,包括:

原文件獲取模塊601,用于獲取待加密的原文件。

頭部數(shù)據(jù)加密模塊602,用于對(duì)原文件的頭部數(shù)據(jù)加密獲得頭部加密數(shù)據(jù)并存儲(chǔ);頭部數(shù)據(jù)包括原文件的元數(shù)據(jù)。

分割模塊603,用于將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段。

混淆片段順序存儲(chǔ)模塊604,用于將分割出的各個(gè)片段進(jìn)行混淆片段順序的存儲(chǔ)。

記錄模塊605,用于對(duì)應(yīng)于原文件的文件標(biāo)識(shí)記錄頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑。對(duì)應(yīng)于文件標(biāo)識(shí)記錄各個(gè)片段的第二存儲(chǔ)路徑以及各個(gè)片段在原文件中的順序。

上述文件加密裝置600,在對(duì)原文件進(jìn)行加密時(shí),僅加密原文件的頭部數(shù)據(jù),加密計(jì)算的數(shù)據(jù)量小,而原文件中除頭部數(shù)據(jù)之外的文件數(shù)據(jù)則分割成多個(gè)片段后通過混淆片段順序的方式進(jìn)行存儲(chǔ),分割和混淆片段順序存儲(chǔ)的計(jì)算量小, 相較于目前全文二進(jìn)制加密的加密方式,通過該文件加密裝置可顯著減少對(duì)中央處理器的消耗,加密時(shí)間成本低。記錄第一存儲(chǔ)路徑、第二存儲(chǔ)路徑和片段的順序則使得文件被加密后可被解密。而且元數(shù)據(jù)用于描述原文件中的數(shù)據(jù)內(nèi)容,加密的頭部數(shù)據(jù)覆蓋原文件的元數(shù)據(jù),可防止惡意用戶利用元數(shù)據(jù)定位到加密的文件以及獲取到通過混淆片段順序存儲(chǔ)的各個(gè)片段來進(jìn)行加密破解。

在一個(gè)實(shí)施例中,頭部數(shù)據(jù)加密模塊602具體用于生成隨機(jī)的加密密鑰,根據(jù)加密密鑰對(duì)原文件的頭部數(shù)據(jù)進(jìn)行加密獲得頭部加密數(shù)據(jù);創(chuàng)建具有隨機(jī)生成的文件名的新文件,并將頭部加密數(shù)據(jù)存儲(chǔ)在新文件中。

記錄模塊605還用于對(duì)應(yīng)于原文件的文件標(biāo)識(shí)記錄加密密鑰以及新文件的第一存儲(chǔ)路徑。

本實(shí)施例中,生成隨機(jī)的加密密鑰來對(duì)頭部數(shù)據(jù)進(jìn)行加密,可避免加密密鑰被第三方猜解;進(jìn)而生成隨機(jī)的文件名來存儲(chǔ)頭部加密數(shù)據(jù),可防止頭部加密數(shù)據(jù)被輕易獲取到,從而進(jìn)一步保障文件被加密后的安全性。

在一個(gè)實(shí)施例中,分割模塊603具體用于按照預(yù)設(shè)的單個(gè)片段大小將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)分割為多個(gè)片段。

在一個(gè)實(shí)施例中,分割模塊603具體用于將原文件中除頭部數(shù)據(jù)的文件數(shù)據(jù)等量或隨機(jī)分割為預(yù)設(shè)數(shù)量的多個(gè)片段。

在一個(gè)實(shí)施例中,混淆片段順序存儲(chǔ)模塊604具體用于為每個(gè)片段分配隨機(jī)的新文件名,并在指定文件目錄或者隨機(jī)創(chuàng)建的文件目錄下將每個(gè)片段存儲(chǔ)在以相應(yīng)的新文件名命名的片段文件中。

在一個(gè)實(shí)施例中,原文件為流媒體應(yīng)用所下載的流媒體文件;第一存儲(chǔ)路徑、各個(gè)第二存儲(chǔ)路徑以及順序?qū)?yīng)于文件標(biāo)識(shí)記錄在流媒體應(yīng)用對(duì)應(yīng)的私有數(shù)據(jù)庫中。如圖7所示,文件加密裝置600還包括文件刪除模塊606,用于刪除流媒體文件。

本實(shí)施例中,針對(duì)流媒體文件版權(quán)保護(hù)的需求,采用本發(fā)明實(shí)施例的文件加密方法可在保證加密性能的同時(shí)提高加密效率,進(jìn)而提高對(duì)流媒體文件進(jìn)行處理的效率。

如圖8所示,在一個(gè)實(shí)施例中,提供了一種文件解密裝置800,包括第一讀取模塊801、頭部加密數(shù)據(jù)獲取模塊802、頭部加密數(shù)據(jù)解密模塊803、第二讀取模塊804、片段獲取模塊805和文件拼接模塊806。

第一讀取模塊801,用于讀取與待解密的文件標(biāo)識(shí)對(duì)應(yīng)的用于存儲(chǔ)頭部加密數(shù)據(jù)的第一存儲(chǔ)路徑。

頭部加密數(shù)據(jù)獲取模塊802,用于根據(jù)第一存儲(chǔ)路徑獲取頭部加密數(shù)據(jù)。

頭部加密數(shù)據(jù)解密模塊803,用于解密頭部加密數(shù)據(jù),獲得頭部數(shù)據(jù);頭部數(shù)據(jù)包括原文件的元數(shù)據(jù)。

第二讀取模塊804,用于讀取與文件標(biāo)識(shí)對(duì)應(yīng)的混淆片段順序存儲(chǔ)的各個(gè)片段的第二存儲(chǔ)路徑和各個(gè)片段在原文件中的順序。

片段獲取模塊805,用于根據(jù)第二存儲(chǔ)路徑獲取各個(gè)片段。

文件拼接模塊806,用于根據(jù)順序?qū)⒏鱾€(gè)片段與頭部數(shù)據(jù)拼接,獲得原文件。

上述文件解密裝置800,利用記錄的第一存儲(chǔ)路徑定位到頭部加密數(shù)據(jù)并進(jìn)行解密而獲得頭部數(shù)據(jù),利用記錄的第二存儲(chǔ)路徑定位并獲取到各個(gè)片段,進(jìn)而利用記錄的順序?qū)㈩^部數(shù)據(jù)和各片段進(jìn)行拼接,獲得原文件。解密時(shí)僅需對(duì)頭部加密數(shù)據(jù)進(jìn)行解密計(jì)算,解密計(jì)算的數(shù)據(jù)量小,片段拼接的時(shí)間成本少,相較于目前全文二進(jìn)制解密的解密方式,通過該文件解密裝置可顯著減少對(duì)中央處理器的消耗,解密時(shí)間成本低。而且元數(shù)據(jù)用于描述原文件中的數(shù)據(jù)內(nèi)容,加密的頭部數(shù)據(jù)覆蓋原文件的元數(shù)據(jù),可防止惡意用戶利用元數(shù)據(jù)定位到加密的文件以及獲取到通過混淆片段順序存儲(chǔ)的各個(gè)片段來進(jìn)行加密破解。

在一個(gè)實(shí)施例中,原文件為流媒體文件;第一存儲(chǔ)路徑、第二存儲(chǔ)路徑以及順序讀取自流媒體應(yīng)用對(duì)應(yīng)的私有數(shù)據(jù)庫。如圖9所示,文件解密裝置800還包括:播放模塊807和文件清除模塊808。

播放模塊807,用于播放原文件。

文件清除模塊808,用于在播放原文件完畢后清除原文件。

本實(shí)施例中,將文件解密方法應(yīng)用于流媒體文件的解密,可在保證加密性能的同時(shí)提高解密效率,在需要播放流媒體文件時(shí)進(jìn)行即時(shí)地解密,不會(huì)影響到播放流媒體文件的初次響應(yīng)時(shí)間和播放流暢度,既能起到保護(hù)流媒體文件的 效果,又大大減少了加密解密帶來的額外性能消耗,兼顧了安全性和性能,同時(shí)保障了版權(quán)方的權(quán)益和用戶的體驗(yàn)。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)等非易失性存儲(chǔ)介質(zhì),或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。

以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
澎湖县| 乌兰察布市| 田林县| 留坝县| 观塘区| 宜城市| 宜兰县| 磴口县| 湖州市| 慈利县| 承德县| 丰原市| 德庆县| 山丹县| 长泰县| 定结县| 灌云县| 尉氏县| 宁南县| 泌阳县| 类乌齐县| 城步| 厦门市| 八宿县| 平顺县| 专栏| 恩平市| 兴和县| 万盛区| 德令哈市| 诸暨市| 庐江县| 恩施市| 贵阳市| 凤山县| 满城县| 分宜县| 阳信县| 双辽市| 勃利县| 达拉特旗|