專利名稱:一種加密、解密視頻文件的方法、裝置及移動(dòng)終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)終端領(lǐng)域,特別涉及一種加密、解密視頻文件的方法、裝置及移動(dòng)終端。
背景技術(shù):
隨著移動(dòng)終端硬件和擴(kuò)展存儲(chǔ)器的發(fā)展,用戶可將大量的文件存放在移動(dòng)終端和擴(kuò)展存儲(chǔ)器中,并通過移動(dòng)終端查閱這些文件。為了保護(hù)隱私及文件的安全性,用戶希望對(duì)文件進(jìn)行加密。其中,加密是以某種特殊的算法改變文件原有的數(shù)據(jù),使得未授權(quán)的用戶即使獲得了已加密的數(shù)據(jù),但因不知解密的方法,仍然無法了解文件的內(nèi)容。一般地,這些文件包括文本文檔、程序、圖片和視頻。針對(duì)視頻文件,可以通過現(xiàn)有的視頻文件加密方式進(jìn)行加 密。具體地,現(xiàn)有的視頻文件加密方式包括,首先對(duì)整個(gè)視頻文件進(jìn)行加密,得到加密后視頻文件;然后將加密后視頻文件從原先的存儲(chǔ)位置移動(dòng)至指定存儲(chǔ)位置。在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題視頻文件是所有文件中最大的文件,當(dāng)指定存儲(chǔ)位置為與原先的存儲(chǔ)位置所在的磁盤分區(qū)不同的其他磁盤分區(qū)時(shí),加密后視頻文件的移動(dòng)速度將非常慢,影響加密效率。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種加密、解密視頻文件的方法、裝置及移動(dòng)終端。所述技術(shù)方案如下一種加密視頻文件的方法,所述方法包括獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。其中,所述方法還包括掃描所述移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在掃描出的每ー個(gè)所述分區(qū)中設(shè)置ー個(gè)文件夾。其中,所述使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件,包括讀取長度為第一預(yù)設(shè)長度且存放在所述需加密視頻文件頭部的頭部數(shù)據(jù);使用所述密鑰對(duì)所述頭部數(shù)據(jù)進(jìn)行加密,獲取所述頭部數(shù)據(jù)加密后的密文;根據(jù)所述密文和所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到所述加密后視頻文件。其中,所述根據(jù)所述密文和所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到所述加密后視頻文件,包括獲取所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間;根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,分別獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間和所述密文的存放區(qū)間;所述第二預(yù)設(shè)長度小于所述第一預(yù)設(shè)長度;所述特定頭部數(shù)據(jù)包括所述密文的存放區(qū)間和預(yù)置的加密標(biāo)識(shí);生成所述特定頭部數(shù)據(jù),并保持所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù)不變,將所述特定頭部數(shù)據(jù)和所述密文分別寫入各自對(duì)應(yīng)的存放區(qū)間,得到所述加密后的視頻文件。
其中,所述根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,獲取長度為第二預(yù)設(shè)長度的所述特定頭部數(shù)據(jù)的存放區(qū)間,包括從所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第二預(yù)設(shè)長度一致的存放區(qū)間,得到所述特定頭部數(shù)據(jù)的存放區(qū)間。其中,所述根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,獲取所述密文的存放區(qū)間,包括獲取所述密文的長度,并判斷所述密文的長度是否大于所述第一預(yù)設(shè)長度與所述第二預(yù)設(shè)長度之間的長度差;若所述密文的長度小于或等于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文的存放區(qū)間;若所述密文的長度大于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文中長度為所述長度差的一部分密文的存放區(qū)間;獲取所述需加密視頻文件的存放區(qū)間,從所述需加密視頻文件的存放區(qū)間的末端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述密文中另一部分密文的長度一致的存放空間,得到所述密文中另ー部分密文的存放區(qū)間。其中,所述在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾,包括獲取所述需加密視頻文件的索引節(jié)點(diǎn)信息,所述索引節(jié)點(diǎn)信息包括存儲(chǔ)路徑;所述索引節(jié)點(diǎn)信息與視頻數(shù)據(jù)成對(duì)應(yīng)關(guān)系;根據(jù)所述需加密視頻文件的存儲(chǔ)路徑,在所有分區(qū)中匹配出存放所述需加密視頻文件的分區(qū);根據(jù)存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾,計(jì)算出所述加密后視頻文件的存儲(chǔ)路徑,使所述加密后視頻文件的存儲(chǔ)路徑指向存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;得到所述加密后視頻文件的索引節(jié)點(diǎn)信息;將所述需加密視頻文件的索引節(jié)點(diǎn)信息更改為所述加密后視頻文件的索引節(jié)點(diǎn)信息,以使所述加密后視頻文件移動(dòng)至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。其中,所述方法還包括建立所述需加密視頻文件的索引節(jié)點(diǎn)信息與所述加密后視頻文件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系。
一種解密視頻文件的方法,所述方法包括獲取需解密視頻文件和密鑰;使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件;確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置。其中,所述使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件,包括讀取長度為第二預(yù)設(shè)長度且存放在所述需解密視頻文件頭部的頭部數(shù)據(jù),井根據(jù)所述頭部數(shù)據(jù),獲取密文的存放區(qū)間;
根據(jù)所述密文的存放區(qū)間,讀取所述密文;使用所述密鑰對(duì)所述密文進(jìn)行解密,獲取所述密文解密后的長度為第一預(yù)設(shè)長度的明文;所述第一預(yù)設(shè)長度大于所述第二預(yù)設(shè)長度;根據(jù)所述明文和所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù),得到所述解密后視頻文件。其中,所述根據(jù)所述明文和所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù),得到所述解密后視頻文件,包括獲取所述需解密視頻文件的存放區(qū)間;從所述需解密視頻文件的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第一預(yù)設(shè)長度一致的存放區(qū)間,得到所述明文的存放區(qū)間;保持所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù)不變,將所述明文覆蓋至自己的存放區(qū)間,得到所述解密后視頻文件。其中,所述需解密視頻文件為需預(yù)覽視頻文件,所述方法還包括讀取所述第一預(yù)設(shè)長度的明文和所述剩余數(shù)據(jù),并將所述明文和所述剩余數(shù)據(jù)構(gòu)造為視頻流,提供給流媒體進(jìn)行播放。其中,所述確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置,包括獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息;獲取預(yù)先建立的需加密視頻文件的索引節(jié)點(diǎn)信息與加密后視頻文件的索引節(jié)點(diǎn)イ目息之間的對(duì)應(yīng)關(guān)系;從所述對(duì)應(yīng)關(guān)系中獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息對(duì)應(yīng)的在加密前的索引節(jié)點(diǎn)信息;所述在加密前的索引節(jié)點(diǎn)信息包括所述需解密視頻文件在加密前的存儲(chǔ)路徑;將所述需解密視頻文件的索引節(jié)點(diǎn)信息更改為在加密前的索引節(jié)點(diǎn)信息,以使所述解密后視頻文件移動(dòng)至在所述需解密視頻文件在加密前的存儲(chǔ)路徑指示的存儲(chǔ)位置。一種加密視頻文件的裝置,所述裝置包括第一獲取模塊,用于獲取需加密視頻文件和密鑰;加密模塊,用于使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;第二獲取模塊,用于獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);第一移動(dòng)模塊,用于在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。其中,所述裝置還包括掃描預(yù)置模塊,用于掃描所述移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在掃描出的每ー個(gè)所述分區(qū)中設(shè)置ー個(gè)文件夾。其中,所述加密模塊包括第一讀取子模塊,用于讀取長度為第一預(yù)設(shè)長度且存放在所述需加密視頻文件頭部的頭部數(shù)據(jù);
加密子模塊,用于使用所述密鑰對(duì)所述頭部數(shù)據(jù)進(jìn)行加密,獲取所述頭部數(shù)據(jù)加密后的密文;寫子模塊,用于根據(jù)所述密文和所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到所述加密后視頻文件。其中,所述寫子模塊包括第一獲取單元,用于獲取所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間;第二獲取單元,用于根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間;所述第二預(yù)設(shè)長度小于所述第一預(yù)設(shè)長度;所述特定頭部數(shù)據(jù)包括所述密文的存放區(qū)間和預(yù)置的加密標(biāo)識(shí);第三獲取單元,用于獲取所述密文的存放區(qū)間;寫単元,用于生成所述特定頭部數(shù)據(jù),并保持所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù)不變,將所述特定頭部數(shù)據(jù)和所述密文分別寫入各自對(duì)應(yīng)的存放區(qū)間,得到所述加密后的視頻文件。其中,所述第二獲取單元用干,從所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第二預(yù)設(shè)長度一致的存放區(qū)間,得到所述特定頭部數(shù)據(jù)的存放區(qū)間。其中,所述第三獲取單元包括判斷子単元,用于獲取所述密文的長度,并判斷所述密文的長度是否大于所述第一預(yù)設(shè)長度與所述第二預(yù)設(shè)長度之間的長度差;第一密文區(qū)間子單元,用于若所述密文的長度小于或等于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文的存放區(qū)間;第二密文區(qū)間子單元,用于若所述密文的長度大于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文中長度為所述長度差的一部分密文的存放區(qū)間;獲取所述需加密視頻文件的存放區(qū)間,從所述需加密視頻文件的存放區(qū)間的末端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述密文中另一部分密文的長度一致的存放空間,得到所述密文中另一部分密文的存放區(qū)間。其中,所述第一移動(dòng)模塊包括第一獲取子模塊,用于獲取所述需加密視頻文件的索引節(jié)點(diǎn)信息,所述索引節(jié)點(diǎn)信息包括存儲(chǔ)路徑;所述索引節(jié)點(diǎn)信息與視頻數(shù)據(jù)成對(duì)應(yīng)關(guān)系;
匹配子模塊,用于根據(jù)所述需加密視頻文件的存儲(chǔ)路徑,在所有分區(qū)中匹配出存放所述需加密視頻文件的分區(qū);計(jì)算子模塊,用于根據(jù)存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾,計(jì)算出所述加密后視頻文件的存儲(chǔ)路徑,使所述加密后視頻文件的存儲(chǔ)路徑指向存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;得到所述加密后視頻文件的索引節(jié)點(diǎn)信息;第一更改子模塊,用于將所述需加密視頻文件的索引節(jié)點(diǎn)信息更改為所述加密后視頻文件的索引節(jié)點(diǎn)信息,以使所述加密后視頻文件移動(dòng)至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。其中,所述第一移動(dòng)模塊還包括建立子模塊,用于建立所述需加密視頻文件的索引節(jié)點(diǎn)信息與所述加密后視頻文 件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系。一種解密視頻文件的裝置,所述裝置包括第三獲取模塊,用于獲取需解密視頻文件和密鑰;解密模塊,用于使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件;第二移動(dòng)模塊,用于確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置。其中,所述解密模塊包括第二讀取子模塊,用于讀取長度為第二預(yù)設(shè)長度且存放在所述需解密視頻文件頭部的頭部數(shù)據(jù),并根據(jù)所述頭部數(shù)據(jù),獲取密文的存放區(qū)間;第三讀取子模塊,用于根據(jù)所述密文的存放區(qū)間,讀取所述密文;解密子模塊,用于使用所述密鑰對(duì)所述密文進(jìn)行解密,獲取所述密文解密后的長度為第一預(yù)設(shè)長度的明文;所述第一預(yù)設(shè)長度大于所述第二預(yù)設(shè)長度;覆蓋子模塊,用于根據(jù)所述明文和所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù),得到所述解密后視頻文件。其中,所述覆蓋子模塊包括第四獲取單元,用于獲取所述需解密視頻文件的存放區(qū)間;第五獲取單元,用于從所述需解密視頻文件的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第一預(yù)設(shè)長度一致的存放區(qū)間,得到所述明文的存放區(qū)間;覆蓋單元,用于保持所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù)不變,將所述明文覆蓋至自己的存放區(qū)間,得到所述解密后視頻文件。其中,所述需解密視頻文件為需預(yù)覽視頻文件;所述解密模塊還包括預(yù)覽子模塊,用于讀取所述第一預(yù)設(shè)長度的明文和所述剩余數(shù)據(jù),并將所述明文和所述剩余數(shù)據(jù)構(gòu)造為視頻流,提供給流媒體進(jìn)行播放。其中,所述第二移動(dòng)模塊包括第二獲取子模塊,用于獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息;第三獲取子模塊,用于獲取預(yù)先建立的需加密視頻文件的索引節(jié)點(diǎn)信息與加密后視頻文件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系;第四獲取子模塊,用于從所述對(duì)應(yīng)關(guān)系中獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息對(duì)應(yīng)的在加密前的索引節(jié)點(diǎn)信息;所述在加密前的索引節(jié)點(diǎn)信息包括所述需解密視頻文件在加密前的存儲(chǔ)路徑;第二更改子模塊,用于將所述需解密視頻文件的索引節(jié)點(diǎn)信息更改為在加密前的索引節(jié)點(diǎn)信息,以使所述解密后視頻文件移動(dòng)至在所述需解密視頻文件在加密前的存儲(chǔ)路徑指示的存儲(chǔ)位置。一種移動(dòng)終端,其特征在于,所述移動(dòng)終端包括前述的加密視頻文件的裝置和前述的解密視頻文件的裝置。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位 置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實(shí)施例提供的視頻文件組成的示意圖;圖2是本發(fā)明實(shí)施例一提供的一種加密視頻文件的方法流程圖;圖3是本發(fā)明實(shí)施例ニ提供的一種加密視頻文件的方法流程圖;圖4是本發(fā)明實(shí)施例ニ提供的需加密視頻文件組成的示意圖;圖5是本發(fā)明實(shí)施例ニ提供的加密后視頻文件組成的示意圖;圖6是本發(fā)明實(shí)施例ニ提供的加密后視頻文件組成的示意圖;圖7是本發(fā)明實(shí)施例三提供的一種解密視頻文件的方法流程圖;圖8是本發(fā)明實(shí)施例四提供的一種解密視頻文件的方法流程圖;圖9是本發(fā)明實(shí)施例四提供的構(gòu)造視頻流的示意圖;圖10是本發(fā)明實(shí)施例五提供的一種加密視頻文件的裝置示意圖;圖11是本發(fā)明實(shí)施例六提供的一種加密視頻文件的裝置示意圖;圖12是本發(fā)明實(shí)施例七提供的一種解密視頻文件的裝置示意圖;圖13是本發(fā)明實(shí)施例八提供的一種解密視頻文件的裝置示意圖;圖14是本發(fā)明實(shí)施例九提供的ー種移動(dòng)終端的示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)ー步地詳細(xì)描述。
為便于對(duì)本發(fā)明實(shí)施例所述技術(shù)方案的描述,下面首先對(duì)視頻文件進(jìn)行介紹。參見圖1,視頻文件通常包含了兩個(gè)部分,分別是文件頭模塊和數(shù)據(jù)模塊。其中,文件頭模塊一般存放在視頻文件頭部,主要包括視頻文件的通用信息、定義的數(shù)據(jù)格式以及所用壓縮算法等參數(shù)。數(shù)據(jù)模塊追加在文件頭模塊后,主要包含實(shí)際視頻數(shù)據(jù)流,即圖像和聲音的序列數(shù)據(jù)塊,是視頻文件主體。另外,數(shù)據(jù)模塊還包括序列數(shù)據(jù)塊列表和它們?cè)谖募械奈恢茫?fù)責(zé)保證視頻文件內(nèi)數(shù)據(jù)的隨機(jī)存取能力。實(shí)施例一參見圖2,本發(fā)明實(shí)施例一提供了一種加密視頻文件的方法,該方法包括101 :獲取需加密視頻文件和密鑰。102 :使用該密鑰對(duì)該需加密視頻文件進(jìn)行加密,得到加密后視頻文件。103:獲取預(yù)先掃描出的移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的 存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。104 :在所有分區(qū)中確定存放該需加密視頻文件的分區(qū),并移動(dòng)加密后視頻文件至存放需加密視頻文件的分區(qū)中的預(yù)置文件夾。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例ニ參見圖3,本發(fā)明實(shí)施例ニ提供了一種加密視頻文件的方法,該方法包括201 :掃描移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在掃描出的每ー個(gè)分區(qū)中設(shè)置ー個(gè)文件夾。其中,在加密視頻文件之前,需預(yù)先掃描移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。鑒于移動(dòng)終端內(nèi)置存儲(chǔ)器的容量有限,用戶一般將視頻文件存儲(chǔ)在擴(kuò)展存儲(chǔ)器中,例如SD(Secure Digital,安全數(shù)碼)卡。具體地,在Android平臺(tái)的移動(dòng)終端上,掃描SD卡中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū),包括,首先,讀取系統(tǒng)的/proc/mounts文件,以獲取整個(gè)系統(tǒng)的所有掛載情況;其次,過濾掉不需要的掛載信息,比如rootfs, tmpfs, proc, devpts等;然后,過濾掉已知的Android系統(tǒng)上SD卡無效分區(qū),包括asec,. android_secure, obb等;最后,根據(jù)vfat文件系統(tǒng)標(biāo)識(shí)過濾出相應(yīng)的有效分區(qū),即除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。例如,假設(shè)過濾出兩個(gè)SD卡中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū),分別為/mnt/sdcard、以及/mnt/sdcard/_external。其中,完成分區(qū)的掃描后,在掃描出的每ー個(gè)分區(qū)中新建ー個(gè)文件夾,該文件夾用于存儲(chǔ)加密后的視頻文件。具體地,對(duì)過濾出的所有有效分區(qū),在相應(yīng)的掛載目錄下創(chuàng)建一個(gè)隱藏文件夾.tmfs,該隱藏文件夾用于后續(xù)存放加密后的視頻文件。202 :獲取需加密視頻文件和密鑰。
具體地,下面以持有Android (安卓)操作平臺(tái)的移動(dòng)終端的用戶為例,簡單描述用戶與安裝在移動(dòng)終端上的客戶端(下文簡稱終端)之間的交互過程。為了提高文件的安全性,用戶打算對(duì)其中一些視頻文件進(jìn)行加密。首先,用戶啟動(dòng)終端,并按照終端顯示的提示內(nèi)容,為所有需加密視頻文件設(shè)置ー個(gè)用于加/解密的密鑰。其次,用戶選擇其中一個(gè)需加密視頻文件提交至終端。然后,用戶對(duì)提交的信息確認(rèn)無誤后,提交加密請(qǐng)求。具體地,終端接收該加密請(qǐng)求后,獲取用戶設(shè)置的密鑰以及該需加密視頻文件。203 :使用該密鑰對(duì)該需加密視頻文件進(jìn)行加密,得到加密后視頻文件。進(jìn)ー步地,本步驟包括
2031 :讀取長度為第一預(yù)設(shè)長度且存放在該需加密視頻文件頭部的頭部數(shù)據(jù)。其中,獲取需加密視頻文件后,讀取存放在該需加密視頻文件頭部的頭部數(shù)據(jù)。具體地,該頭部數(shù)據(jù)為視頻文件的文件頭模塊中長度為第一預(yù)設(shè)長度的數(shù)據(jù)塊,例如1KB。由于單個(gè)視頻文件的大小通常在50MB以上,因此,IKB的頭部數(shù)據(jù)是視頻文件非常小的部分。在本發(fā)明實(shí)施例ニ中,參見圖4,假設(shè)需加密視頻文件中數(shù)據(jù)的總長度為L ;第一預(yù)設(shè)長度為LI ;需加密視頻文件中除該頭部數(shù)據(jù)外剩余的數(shù)據(jù)的長度為L2 ;顯然,L=L1+L2。2032 :在頭部數(shù)據(jù)中查詢是否存在預(yù)置的加密ID (Identity,標(biāo)識(shí))。若存在加密ID,則判定需加密視頻文件已被加密,退出本次加密流程,獲取下ー個(gè)需加密視頻文件;若不存在加密ID,則判定需加密視頻文件未被加密,執(zhí)行2033。其中,預(yù)先設(shè)置一個(gè)加密ID。該加密ID存放在加密后視頻文件頭部,用于對(duì)加密后的視頻文件進(jìn)行標(biāo)識(shí),避免用戶對(duì)加密后的視頻文件進(jìn)行重復(fù)加密。若該需加密視頻文件為加密后視頻文件,那么讀取的頭部數(shù)據(jù)應(yīng)包括該加密ID。具體地,在頭部數(shù)據(jù)中查詢?cè)摷用躀D。若在頭部數(shù)據(jù)中查詢到該加密ID,則判定該需加密視頻文件為加密后視頻文件,退出本次加密流程。若在頭部數(shù)據(jù)中未查詢到該加密ID,則判定該需加密視頻文件不為加密后視頻文件,執(zhí)行2033。2033 :使用密鑰對(duì)該頭部數(shù)據(jù)進(jìn)行加密,獲取該頭部數(shù)據(jù)加密后的密文。具體地,本發(fā)明實(shí)施例ニ中提供的加密視頻文件的方法采用AES (AdvancedEncryption Standard,高級(jí)加密標(biāo)準(zhǔn))加密算法。AES加密算法為分組密碼算法,通常由密鑰擴(kuò)展算法和加密(解密)算法兩部分組成。密鑰擴(kuò)展算法將b字節(jié)用戶主密鑰擴(kuò)展成r個(gè)子密鑰;加密算法由一個(gè)密碼學(xué)上的弱函數(shù)f 與r個(gè)子密鑰迭代r次組成。此為現(xiàn)有技木,不再詳述。具體地,終端首先用AES密鑰擴(kuò)展算法將密鑰擴(kuò)展成若干個(gè)子密鑰;然后根據(jù)該若干個(gè)子密鑰,用AES加密算法將頭部數(shù)據(jù)進(jìn)行加密;最后獲取該頭部數(shù)據(jù)加密后的密文。2034:根據(jù)該密文和該需加密視頻文件中除該頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到加密后視頻文件。進(jìn)ー步地,本步驟包括2034a :獲取頭部數(shù)據(jù)在該需加密視頻文件中的存放區(qū)間。其中,根據(jù)讀取的頭部數(shù)據(jù),進(jìn)一歩讀取頭部數(shù)據(jù)在需加密視頻文件中的存放區(qū)間。該存放區(qū)間為,頭部數(shù)據(jù)在移動(dòng)終端或SD卡等擴(kuò)展存儲(chǔ)器上的存儲(chǔ)地址段。具體地,參見圖4,假設(shè)頭部數(shù)據(jù)在需加密視頻文件中的存放區(qū)間為[x,n]。S卩,[x,n]中存放數(shù)據(jù)的長度為第一預(yù)設(shè)長度LI。
2034b :獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間。其中,第二預(yù)設(shè)長度小于第一預(yù)設(shè)長度;特定頭部數(shù)據(jù)包括密文的存放區(qū)間和預(yù)置的加密ID。具體地,獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間包括,從頭部數(shù)據(jù)在需加密視頻文件中的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與第二預(yù)設(shè)長度一致的存放區(qū)間,得到特定頭部數(shù)據(jù)的存放區(qū)間。具體地,該特定頭部數(shù)據(jù)用于對(duì)加密后的視頻文件進(jìn)行標(biāo)識(shí)和指示密文的存放位置,為后續(xù)解密流程和預(yù)覽加密視頻流程提供輔助信息。該特定頭部數(shù)據(jù)為長度為第二預(yù)設(shè)長度的數(shù)據(jù)塊,例如56B(小于1KB)。在本發(fā)明實(shí)施例ニ中,參見圖5 圖6,假設(shè)獲取的特定頭部數(shù)據(jù)的存放區(qū)間為[X,m];第二預(yù)設(shè)長度為La。S卩,[X,m]中存放數(shù)據(jù)的長度為Lb。2034c :獲取密文的存放區(qū)間。進(jìn)一步地,本步驟包括以下步驟A C :步驟A、獲取密文的長度,并判斷密文的長度是否大于第一預(yù)設(shè)長度和第二預(yù)設(shè)長度之間的長度差。若密文的長度小于或等于該長度差,則執(zhí)行步驟B ;若密文的長度大于該長度差,則執(zhí)行步驟C。具體地,根據(jù)頭部數(shù)據(jù)加密后的密文,讀取密文數(shù)據(jù)的總長度。假設(shè)密文的長度為Lb。已知頭部數(shù)據(jù)的長度為第一預(yù)設(shè)長度LI,第二預(yù)設(shè)長度為La。若Lb < Ll-La,則執(zhí)行步驟B ;若Lb>Ll-La,則執(zhí)行步驟C。步驟B、將頭部數(shù)據(jù)的存放區(qū)間減去特定頭部數(shù)據(jù)的存放區(qū)間,得到密文的存放區(qū)間。執(zhí)行2034d。具體地,已知頭部數(shù)據(jù)的存放區(qū)間為[X,n],特定頭部數(shù)據(jù)的存放區(qū)間為[X,m];那么,密文的存放區(qū)間為[m+l,n],即[m+l,n]中存放數(shù)據(jù)的長度為Lb。執(zhí)行2034d。步驟C、將頭部數(shù)據(jù)的存放區(qū)間減去特定頭部數(shù)據(jù)的存放區(qū)間,得到密文中長度為第一預(yù)設(shè)長度與第二預(yù)設(shè)長度之間的長度差的一部分密文的存放區(qū)間;獲取需加密視頻文件的存放區(qū)間,從需加密視頻文件的存放區(qū)間的末端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與密文中另一部分密文的長度一致的存放空間,得到密文中另一部分密文的存放區(qū)間。執(zhí)行2034d。具體地,已知密文的長度為Lb,假設(shè)密文中一部分密文的長度為Lbl,另一部分密文的長度為Lb2。顯然,Lb=Lb 1+Lb2。密文中一部分密文在加密后視頻文件中的存放區(qū)間為前述[m+l,n],即[m+1, n]中存放數(shù)據(jù)的長度為Lbl。其中,需加密視頻文件的存放區(qū)間為,需加密視頻文件在移動(dòng)終端或SD卡等擴(kuò)展存儲(chǔ)器上的存儲(chǔ)地址段。具體地,根據(jù)獲取的需加密視頻文件,獲取需加密視頻文件的存放區(qū)間。在本發(fā)明實(shí)施例ニ中,參見圖4,假設(shè)獲取的需加密視頻文件的存放區(qū)間為[x,y]。具體地,已知需加密視頻文件的存放區(qū)間為[x,y],需加密視頻文件的存放區(qū)間的末端點(diǎn)為y ;那么,密文中一部分密文在加密后視頻文件中的存放區(qū)間為[y+1,z]。其中,[y+1, z]中存放數(shù)據(jù)的長度為Lb2。執(zhí)行2034d。2034d :生成特定頭部數(shù)據(jù),并保持需加密視頻文件中除頭部數(shù)據(jù)外的剰余數(shù)據(jù)不變,將特定頭部數(shù)據(jù)和密文分別寫入各自對(duì)應(yīng)的存放區(qū)間,得到加密后的視頻文件。其中,先根據(jù)預(yù)置的加密ID和密文在加密后視頻文件中的存放區(qū)間,生成該特定頭部數(shù)據(jù)。具體地,加密ID存放在該特定頭部數(shù)據(jù)頭部,S卩加密后視頻文件頭部。另外,生成特定頭部數(shù)據(jù)的過程需符合相關(guān)協(xié)議。具體地,獲取特定頭部數(shù)據(jù)和密文的存放區(qū)間后,分別特定頭部數(shù)據(jù)和密文寫入各自的存放區(qū)間。假設(shè)加密后視頻文件數(shù)據(jù)的總長度為L’,參見圖5 圖6,加密后視頻文件由特定頭部數(shù)據(jù)、密文和需加密視頻文件中除該頭部數(shù)據(jù)外的剰余數(shù)據(jù)組成。由于需加密視頻文件開始的部分?jǐn)?shù)據(jù)已經(jīng)被“擾亂”,常規(guī)正常的視頻解碼器是無法對(duì)該文件進(jìn)行解析并解碼的,從而保證了用戶的隱私。204:獲取預(yù)先掃描出的移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。
具體地,獲取通過201掃描出的移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。例如,獲取/mnt/sdcard、以及/mnt/sdcard/_external兩個(gè)分區(qū)。205:在所有分區(qū)中確定存放該需加密視頻文件的分區(qū),并移動(dòng)加密后視頻文件至存放需加密視頻文件的分區(qū)中的預(yù)置文件夾。進(jìn)ー步地,本步驟包括2051 :獲取需加密視頻文件的inode (索引節(jié)點(diǎn))信息。其中,該inode信息包括存儲(chǔ)路徑。該inode信息與視頻數(shù)據(jù)成對(duì)應(yīng)關(guān)系?!愕?Android平臺(tái)是基于Linux內(nèi)核來實(shí)現(xiàn)的,其擁有Linux優(yōu)秀的文件系統(tǒng)功能。該文件系統(tǒng)采用inode節(jié)點(diǎn)和與inode節(jié)點(diǎn)關(guān)聯(lián)的block (數(shù)據(jù)塊)來管理系統(tǒng)中的文件。inode節(jié)點(diǎn)用于標(biāo)識(shí)文件的屬性,包括文件名稱、大小、存儲(chǔ)路徑、格式等文件信息。block用于標(biāo)識(shí)文件具體數(shù)據(jù)內(nèi)容。即,同一磁盤分區(qū)中的數(shù)據(jù)內(nèi)容相同而文件屬性不同的若干個(gè)文件,各自的inode節(jié)點(diǎn)不同,但是與inode節(jié)點(diǎn)關(guān)聯(lián)的block是卩隹一的。此為現(xiàn)有技術(shù),在此不再詳述。本實(shí)施例便是采用該技術(shù)來實(shí)現(xiàn)加密后視頻文件和解密后視頻文件的快速移動(dòng)的。例如,假設(shè)該需加密視頻文件的存儲(chǔ)路徑為/mnt/sdcard/_external/test_dir/test. txt02052:根據(jù)需加密視頻文件的存儲(chǔ)路徑,在所有分區(qū)中匹配出存放該需加密視頻文件的分區(qū)。其中,可以依據(jù)“最長最佳”匹配原則,在所有分區(qū)中匹配出存放需加密視頻文件的分區(qū)。例如,已知過濾出兩個(gè)SD卡中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū),分別為/mnt/sdcard、以及/mnt/sdcard/_external ;該需加密視頻文件的存儲(chǔ)路徑為/mnt/sdcard/_external/test_dir/test, txt。首先得到該需加密視頻文件的存儲(chǔ)目錄為/mnt/sdcard/_external/test_dir ;然后分別在兩個(gè)分區(qū)中進(jìn)行匹配;由此,得到最長最佳的匹配結(jié)果為/mnt/sdcard/_external,即該需加密視頻文件的分區(qū)。2053 :根據(jù)存放需加密視頻文件的分區(qū)中的預(yù)置文件夾,計(jì)算出加密后視頻文件的存儲(chǔ)路徑,使加密后視頻文件的存儲(chǔ)路徑指向存放需加密視頻文件的分區(qū)中的預(yù)置文件夾;得到加密后視頻文件的inode信息。具體地,已知存放需加密視頻文件的分區(qū)為/mnt/sdcard/_external,該分區(qū)中預(yù)置的文件夾名為test_file ;并假設(shè)加密后視頻文件的文件名稱與需加密視頻文件的文件名稱一致,為test, txt ;則計(jì)算出的加密后視頻文件的存儲(chǔ)路徑為/mnt/sdcard/_externa丄/test_iile/test. txt。具體地,加密后視頻文件的inode信息包括加密后視頻文件的存儲(chǔ)路徑。2054 :將需加密視頻文件的inode信息更改為加密后視頻文件的inode信息,以使加密后視頻文件移動(dòng)至存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。具體地,SD卡的讀取速度通常比較慢,如果直接移動(dòng)加密后視頻文件的數(shù)據(jù),速度將非常慢,影響用戶體驗(yàn)。在本發(fā)明實(shí)施例中,對(duì)于加密后視頻文件,只需要更改inode信 息,而不需要移動(dòng)文件的任何數(shù)據(jù)內(nèi)容,就能夠移動(dòng)加密后視頻文件到指定文件夾,實(shí)現(xiàn)了高效的文件搬移。2055 :建立需加密視頻文件的inode信息與加密后視頻文件的inode信息之間的對(duì)應(yīng)關(guān)系。其中,該對(duì)應(yīng)關(guān)系以數(shù)據(jù)庫的形式存儲(chǔ)。由于在Android平臺(tái)中,默認(rèn)應(yīng)用程序創(chuàng)建的數(shù)據(jù)庫是保存在應(yīng)用程序私有目錄下,它會(huì)在程序卸載時(shí)被系統(tǒng)ー并清除;因此,為了確保數(shù)據(jù)庫在應(yīng)用程序卸載之后依然存在,后續(xù)用戶可以通過重新安裝相應(yīng)的應(yīng)用程序取回原來的加密文件,避免數(shù)據(jù)的丟失,本發(fā)明實(shí)施例2中描述的該數(shù)據(jù)庫可以通過在SD卡特定的目錄下創(chuàng)建SQL數(shù)據(jù)庫并對(duì)該數(shù)據(jù)庫進(jìn)行完全的訪問控制。具體實(shí)現(xiàn)方法包括,仿照 Android 系統(tǒng)自帶的 SQLiteOpenHelper. java 文件構(gòu)造 SDCardSQLiteOpenHelper. java文件,把SQLiteOpenHelper中在應(yīng)用程序私有目錄下創(chuàng)建數(shù)據(jù)相關(guān)的操作更改為在SD卡指定目錄下創(chuàng)建數(shù)據(jù)庫,封裝數(shù)據(jù)庫操作相關(guān)的query, insert, update, delete等操作,給調(diào)用者提供統(tǒng)ー的接ロ。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例三參見圖7,本發(fā)明實(shí)施例三提供了一種解密視頻文件的方法,該方法包括301 :獲取需解密視頻文件和密鑰。302:使用該密鑰對(duì)該需解密視頻文件進(jìn)行解密,得到解密后視頻文件。303 :確定需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)解密后視頻文件至加密前的存儲(chǔ)位置。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例四參見圖8,本發(fā)明實(shí)施例四提供了一種解密視頻文件的方法,該方法包括401 :獲取需解密視頻文件和密鑰 。其中,該需解密視頻文件可以為需預(yù)覽視頻文件。具體地,用戶實(shí)現(xiàn)加密視頻文件后,打算對(duì)加密后視頻文件進(jìn)行解密操作或進(jìn)行預(yù)覽操作。用戶按照終端顯示的提示內(nèi)容,輸入正確的密鑰,并選擇了ー個(gè)需解密視頻文件,向終端提交解密請(qǐng)求。具體地,終端接收解密請(qǐng)求后,獲取需解密視頻文件和密鑰。另外,終端需驗(yàn)證該密鑰是否與加密方法中用戶設(shè)置的密鑰一致。若一致,則執(zhí)行后續(xù)流程;若不一致,則提示用戶重新輸入正確的密鑰。402:使用該密鑰對(duì)該需解密視頻文件進(jìn)行解密,得到解密后視頻文件。進(jìn)ー步地,本步驟具體包括4021 :讀取長度為第二預(yù)設(shè)長度且存放在需解密視頻文件頭部的頭部數(shù)據(jù)。具體地,獲取需解密視頻文件后,從需解密視頻文件頭部開始,讀取長度為第二預(yù)設(shè)長度的頭部數(shù)據(jù)。4022 :在該頭部數(shù)據(jù)中查詢是否存在預(yù)置的加密ID。若不存在加密ID,則判定需解密視頻文件未被加密,退出本次解密流程。若存在加密ID,則判定需加密視頻文件為加密后視頻文件,執(zhí)行4023。具體地,加密后視頻文件頭部存放了長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù),且該特定頭部數(shù)據(jù)包括密文的存放區(qū)間和預(yù)置的加密ID。該加密ID用于對(duì)加密后的視頻文件進(jìn)行標(biāo)識(shí),避免用戶對(duì)加密后的視頻文件進(jìn)行重復(fù)加密。若需解密視頻文件為加密后視頻文件,則該頭部數(shù)據(jù)中存在該加密ID。4023 :根據(jù)該頭部數(shù)據(jù),獲取密文的存放區(qū)間。具體地,需解密視頻文件為加密后視頻文件,則該頭部數(shù)據(jù)包括密文的存放區(qū)間。4024 :根據(jù)密文的存放區(qū)間,讀取密文。具體地,獲取密文的存放區(qū)間后,從該存放區(qū)間讀取密文。4025 :使用密鑰對(duì)密文進(jìn)行解密,獲取密文解密后的長度為第一預(yù)設(shè)長度的明文。其中,所述第一預(yù)設(shè)長度大于所述第二預(yù)設(shè)長度。具體地,采用AES解密算法對(duì)密文進(jìn)行解密,并獲取密文解密后的明文。根據(jù)本發(fā)明實(shí)施例ニ中的描述,在加密過程中,獲取的長度為第一預(yù)設(shè)長度的明文進(jìn)行加密。即,解密后得到的明文的長度應(yīng)為第一預(yù)設(shè)長度。參見圖4,假設(shè)第一預(yù)設(shè)長度為LI。4026:當(dāng)該需解密視頻文件為需預(yù)覽視頻文件時(shí),讀取第一預(yù)設(shè)長度的明文和剩余數(shù)據(jù),并將明文和剰余數(shù)據(jù)構(gòu)造為視頻流,提供給流媒體進(jìn)行播放。值得說明的是,本步驟為可選執(zhí)行步驟,取決于需解密視頻文件是否為需預(yù)覽視頻文件。在實(shí)際應(yīng)用中,用戶可能會(huì)先預(yù)覽視頻文件,再進(jìn)行解密操作。這時(shí),需執(zhí)行預(yù)覽操作。進(jìn)ー步地,本步驟包括4026a:當(dāng)需解密視頻文件為需預(yù)覽視頻文件時(shí),讀取解密得到的長度為第一預(yù)設(shè)長度的明文。具體地,在實(shí)際應(yīng)用中,將讀取的明文存儲(chǔ)在內(nèi)存中,可以保證視頻文件的安全性。4026b :獲取需預(yù)覽視頻文件的存放區(qū)間;將需預(yù)覽視頻文件的存放區(qū)間減去數(shù)據(jù)長度與第一預(yù)設(shè)長度一致的存放區(qū)間,得到需預(yù)覽視頻文件中除頭部數(shù)據(jù)和密文外的剩余數(shù)據(jù)的存放區(qū)間;從剩余數(shù)據(jù)的存放區(qū)間讀取剰余數(shù)據(jù)。具體地,獲取明文后,進(jìn)ー步獲取需預(yù)覽視頻文件中除明文外的剰余數(shù)據(jù)。4026c :將明文和剰余數(shù)據(jù)構(gòu)造為視頻流,并提供給流媒體進(jìn)行播放。
具體地,參見圖9,流媒體在解碼過程中會(huì)不斷的向視頻流提出要獲取視頻數(shù)據(jù)的請(qǐng)求;該請(qǐng)求包括需播放的數(shù)據(jù)大小和存儲(chǔ)位置。視頻流則可以根據(jù)流媒體發(fā)送的請(qǐng)求,提供相應(yīng)的數(shù)據(jù)給流媒體。特別的,當(dāng)請(qǐng)求的原始視頻文件數(shù)據(jù)落在被加密的數(shù)據(jù)區(qū)間的時(shí)候,視頻流則從解密后的數(shù)據(jù)區(qū)域中把,即明文,饋送給流媒體;當(dāng)請(qǐng)求的數(shù)據(jù)落在為加密的數(shù)據(jù)區(qū)間時(shí),即剩余數(shù)據(jù),視頻流則直接從剩余數(shù)據(jù)的存放區(qū)間中讀取數(shù)據(jù)并饋送給流媒體。值得說明的是,當(dāng)退出流媒體后,終端再將該預(yù)覽的視頻文件恢復(fù)到加密狀態(tài)。由于這些操作對(duì)用戶來說都是透明的,因而在保證操作的便捷性。4027:根據(jù)明文和需解密視頻文件中除頭部數(shù)據(jù)和密文外的剰余數(shù)據(jù),得到解密后視頻文件。進(jìn)一歩,本步驟包括4027a :獲取需解密視頻文件的存放區(qū)間。具體地,根據(jù)獲取的需解密視頻文件,進(jìn)ー步獲取需解密視頻文件的存放區(qū)間。參見圖6,假設(shè)需解密視頻文件的存放區(qū)間為[x,z] ;[x,z]中存放數(shù)據(jù)的長度為L’。4027b :從需解密視頻文件的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與第一預(yù)設(shè)長度一致的存放區(qū)間,得到明文的存放區(qū)間。具體地,參見圖4,假設(shè)得到的明文的存放區(qū)間為[x,n] ;[x,n]中存放數(shù)據(jù)的長度為LI。4027c:保持需解密視頻文件中除頭部數(shù)據(jù)和密文外的剰余數(shù)據(jù)不變,將明文覆蓋至自己的存放區(qū)間,得到解密后視頻文件。具體地,參見圖4,解密后視頻文件即為加密前的需加密視頻文件。403 :確定需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)解密后視頻文件至該加密前的存儲(chǔ)位置。進(jìn)ー步地,本步驟包括4031 :獲取需解密視頻文件的inode信息。具體地,該inode信息包括需解密視頻文件的存儲(chǔ)路徑。4032 :獲取預(yù)先建立的需加密視頻文件的inode信息與加密后視頻文件的inodeイ目息之間的對(duì)應(yīng)關(guān)系。具體地,從數(shù)據(jù)庫中獲取預(yù)先存儲(chǔ)的需加密視頻文件的inode信息與加密后視頻文件的inode信息之間的對(duì)應(yīng)關(guān)系。
4033 :從對(duì)應(yīng)關(guān)系中獲取需解密視頻文件的inode信息對(duì)應(yīng)的在加密前的inode信息。其中,該在加密前的inode信息包括需解密視頻文件在加密前的存儲(chǔ)路徑。4034 :將需解密視頻文件的inode信息更改為在加密前的inode信息,以使解密后視頻文件移動(dòng)至在需解密視頻文件在加密前的存儲(chǔ)路徑指示的存儲(chǔ)位置。具體地,為了使用戶更好地區(qū)分解密后視頻文件與需解密視頻文件,完成解密過程后,還應(yīng)將解密后視頻文件的inode信息設(shè)置為在加密前的inode信息。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū); 在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例五參見圖10,本發(fā)明實(shí)施例五提供了一種加密視頻文件的裝置,該裝置包括第一獲取模塊501,用于獲取需加密視頻文件和密鑰。加密模塊502,用于使用該密鑰對(duì)該需加密視頻文件進(jìn)行加密,得到加密后視頻文件。第二獲取模塊503,用于獲取預(yù)先掃描出的移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。第一移動(dòng)模塊504,用于在所有分區(qū)中確定存放該需加密視頻文件的分區(qū),并移動(dòng)加密后視頻文件至存放需加密視頻文件的分區(qū)中的預(yù)置文件夾。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例六參見圖11,本發(fā)明實(shí)施例六提供了一種加密視頻文件的裝置,該裝置包括第一獲取模塊601,用于獲取需加密視頻文件和密鑰。加密模塊602,用于使用該密鑰對(duì)該需加密視頻文件進(jìn)行加密,得到加密后視頻文件。其中,加密模塊602包括第一讀取子模塊6021,用于讀取長度為第一預(yù)設(shè)長度且存放在需加密視頻文件頭部的頭部數(shù)據(jù)。加密子模塊6022,用于使用密鑰對(duì)頭部數(shù)據(jù)進(jìn)行加密,獲取頭部數(shù)據(jù)加密后的密文。寫子模塊6023,用于根據(jù)密文和需加密視頻文件中除頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到加密后視頻文件。其中,寫子模塊6023包括第一獲取單元6023a,用于獲取頭部數(shù)據(jù)在需加密視頻文件中的存放區(qū)間。第二獲取單元6023b,用于根據(jù)頭部數(shù)據(jù)的存放區(qū)間,分別獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間和密文的存放區(qū)間;第二預(yù)設(shè)長度小于第一預(yù)設(shè)長度;特定頭部數(shù)據(jù)包括密文的存放區(qū)間和預(yù)置的加密ID。具體地,第一獲取單元6023a用于,從頭部數(shù)據(jù)在需加密視頻文件中的存放區(qū)間 的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與第二預(yù)設(shè)長度一致的存放區(qū)間,得到特定頭部數(shù)據(jù)的存放區(qū)間。第三獲取單元6023c,用于獲取密文的存放區(qū)間。具體地,第三獲取單元6023c包括判斷子単元,用于獲取密文的長度,并判斷密文的長度是否大于第一預(yù)設(shè)長度與第二預(yù)設(shè)長度之間的長度差。第一密文區(qū)間子單元,用于若密文的長度小于或等于長度差,則將頭部數(shù)據(jù)的存放區(qū)間減去特定頭部數(shù)據(jù)的存放區(qū)間,得到密文的存放區(qū)間。第二密文區(qū)間子單元,用于若密文的長度大于長度差,則將頭部數(shù)據(jù)的存放區(qū)間減去特定頭部數(shù)據(jù)的存放區(qū)間,得到密文中長度為長度差的一部分密文的存放區(qū)間;獲取需加密視頻文件的存放區(qū)間,從需加密視頻文件的存放區(qū)間的末端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與密文中另一部分密文的長度一致的存放空間,得到密文中另一部分密文的存放區(qū)間。寫単元6023d,用于生成特定頭部數(shù)據(jù),并保持需加密視頻文件中除頭部數(shù)據(jù)外的剰余數(shù)據(jù)不變,將特定頭部數(shù)據(jù)和密文分別寫入各自對(duì)應(yīng)的存放區(qū)間,得到加密后的視頻文件。第一查詢子模塊6024,用于在頭部數(shù)據(jù)中查詢是否存在預(yù)置的加密ID ;若存在加密ID,則判定需加密視頻文件已被加密,退出本次加密流程。相應(yīng)地,加密子模塊6022還用于,若不存在加密ID,則判定需加密視頻文件未被加密,使用密鑰對(duì)頭部數(shù)據(jù)進(jìn)行加密。第二獲取模塊603,用于獲取預(yù)先掃描出的移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū)。第一移動(dòng)模塊604,用于在所有分區(qū)中確定存放該需加密視頻文件的分區(qū),并移動(dòng)加密后視頻文件至存放需加密視頻文件的分區(qū)中的預(yù)置文件夾。其中,第一移動(dòng)模塊604包括第一獲取子模塊6041,用于獲取需加密視頻文件的inode(索引節(jié)點(diǎn))信息。其中,該inode信息包括存儲(chǔ)路徑。該inode信息與視頻數(shù)據(jù)成對(duì)應(yīng)關(guān)系。匹配子模塊6042,用于根據(jù)需加密視頻文件的存儲(chǔ)路徑,在所有分區(qū)中匹配出存放該需加密視頻文件的分區(qū)。計(jì)算子模塊6043,用于根據(jù)存放需加密視頻文件的分區(qū)中的預(yù)置文件夾,計(jì)算出加密后視頻文件的存儲(chǔ)路徑,使加密后視頻文件的存儲(chǔ)路徑指向存放需加密視頻文件的分區(qū)中的預(yù)置文件夾;得到加密后視頻文件的inode信息。第一更改子模塊6044,用于將需加密視頻文件的inode信息更改為加密后視頻文件的inode信息,以使加密后視頻文件移動(dòng)至存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。建立子模塊6045,用于建立需加密視頻文件的inode信息與加密后視頻文件的inode信息之間的對(duì)應(yīng)關(guān)系。其中,該裝置還包括
掃描預(yù)置模塊605,用于掃描移動(dòng)終端及移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在掃描出的每ー個(gè)分區(qū)中設(shè)置ー個(gè)文件夾。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例七參見圖12,本發(fā)明實(shí)施例七提供了一種解密視頻文件的裝置,該裝置包括第三獲取模塊701,用于獲取需解密視頻文件和密鑰。解密模塊702,用于使用該密鑰對(duì)該需解密視頻文件進(jìn)行解密,得到解密后視頻文件。第二移動(dòng)模塊703,用于確定需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)解密后視頻文件至加密前的存儲(chǔ)位置。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例八參見圖13,本發(fā)明實(shí)施例八提供了一種解密視頻文件的裝置,該裝置包括第三獲取模塊801,用于獲取需解密視頻文件和密鑰。解密模塊802,用于使用該密鑰對(duì)該需解密視頻文件進(jìn)行解密,得到解密后視頻文件。其中,解密模塊802包括第二讀取子模塊8021,用于讀取長度為第二預(yù)設(shè)長度且存放在需解密視頻文件頭部的頭部數(shù)據(jù),井根據(jù)頭部數(shù)據(jù),獲取密文的存放區(qū)間。第三讀取子模塊8022,用于根據(jù)密文的存放區(qū)間,讀取密文。解密子模塊8023,用于使用密鑰對(duì)密文進(jìn)行解密,獲取密文解密后的長度為第一預(yù)設(shè)長度的明文;第一預(yù)設(shè)長度大于所述第二預(yù)設(shè)長度。覆蓋子模塊8024,用于根據(jù)明文和需解密視頻文件中除頭部數(shù)據(jù)和密文外的剰余數(shù)據(jù),得到解密后視頻文件。其中,覆蓋子模塊8024包括 第四獲取單元8024a,用于獲取需解密視頻文件的存放區(qū)間。第五獲取單元8024b,用于從需解密視頻文件的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與第一預(yù)設(shè)長度一致的存放區(qū)間,得到明文的存放區(qū)間。覆蓋單元8024c,用于保持需解密視頻文件中除頭部數(shù)據(jù)和密文外的剰余數(shù)據(jù)不變,將明文覆蓋至自己的存放區(qū)間,得到解密后視頻文件。其中,該解密模塊802還包括第二查詢子模塊8025,用于在頭部數(shù)據(jù)中查詢是否存在預(yù)置的加密ID ;若不存在加密ID,則判定需解密視頻文件未被加密,退出本次解密流程。相應(yīng)地,第二讀取子模塊8021還用于,若存在加密ID,則判定需加密視頻文件為加密后視頻文件,根據(jù)頭部數(shù)據(jù),獲取密文的存放區(qū)間。其中,需解密視頻文件為需預(yù)覽視頻文件,該解密模塊802還包括預(yù)覽子模塊8026,用于讀取第一預(yù)設(shè)長度的明文和剰余數(shù)據(jù),并將明文和剰余數(shù)據(jù)構(gòu)造為視頻流,提供給流媒體進(jìn)行播放。進(jìn)ー步地,預(yù)覽子模塊8026包括明文単元8026a,用于當(dāng)需解密視頻文件為需預(yù)覽視頻文件時(shí),讀取解密得到的長度為第一預(yù)設(shè)長度的明文。剰余數(shù)據(jù)單元8026b,用于獲取需預(yù)覽視頻文件的存放區(qū)間;將需預(yù)覽視頻文件的存放區(qū)間減去數(shù)據(jù)長度與第一預(yù)設(shè)長度一致的存放區(qū)間,得到需預(yù)覽視頻文件中除頭部數(shù)據(jù)和密文外的剰余數(shù)據(jù)的存放區(qū)間;從剩余數(shù)據(jù)的存放區(qū)間讀取剰余數(shù)據(jù)。視頻流単元8026c,用于將明文和剰余數(shù)據(jù)構(gòu)造為視頻流,并提供給流媒體進(jìn)行播放。第二移動(dòng)模塊803,用于確定需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)解密后視頻文件至加密前的存儲(chǔ)位置。其中,第二移動(dòng)模塊803包括第二獲取子模塊8031,用于獲取需解密視頻文件的inode信息。第三獲取子模塊8032,用于獲取預(yù)先建立的需加密視頻文件的inode信息與加密后視頻文件的inode信息之間的對(duì)應(yīng)關(guān)系。第四獲取子模塊8033,用于從對(duì)應(yīng)關(guān)系中獲取需解密視頻文件的inode信息對(duì)應(yīng)的在加密前的inode信息。
第二更改子模塊8034,用于將需解密視頻文件的inode信息更改為在加密前的inode信息,以使解密后視頻文件移動(dòng)至在需解密視頻文件在加密前的存儲(chǔ)路徑指示的存儲(chǔ)位置。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。實(shí)施例九參見圖14,本發(fā)明實(shí)施例九提供了一種移動(dòng)終端,該移動(dòng)終端包括加密視頻文件的裝置901和解密視頻文件的裝置902。 具體地,加密視頻文件的裝置901為實(shí)施例五或?qū)嵤├枋龅募用芤曨l文件的裝置;解密視頻文件的裝置902為實(shí)施例七或?qū)嵤├嗣枋龅慕饷芤曨l文件的裝置。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是通過獲取需加密視頻文件和密鑰;使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;由于加密后視頻文件中存在密文,視頻解碼器無法對(duì)加密后視頻文件進(jìn)行識(shí)別,安全性較高;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;將加密后視頻文件移動(dòng)至加密前的存儲(chǔ)位置所在的分區(qū)的指定文件夾中,由于是在同一個(gè)分區(qū)內(nèi)移動(dòng),移動(dòng)的速度將比較快,使得加密所耗費(fèi)的時(shí)間少,加密效率高,并提高了產(chǎn)品的市場競爭力。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于ー種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種加密視頻文件的方法,其特征在于,所述方法包括 獲取需加密視頻文件和密鑰; 使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件; 獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū); 在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括 掃描所述移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū); 在掃描出的每ー個(gè)所述分區(qū)中設(shè)置ー個(gè)文件夾。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件,包括 讀取長度為第一預(yù)設(shè)長度且存放在所述需加密視頻文件頭部的頭部數(shù)據(jù); 使用所述密鑰對(duì)所述頭部數(shù)據(jù)進(jìn)行加密,獲取所述頭部數(shù)據(jù)加密后的密文; 根據(jù)所述密文和所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到所述加密后視頻文件。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述密文和所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到所述加密后視頻文件,包括 獲取所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間; 根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,分別獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間和所述密文的存放區(qū)間;所述第二預(yù)設(shè)長度小于所述第一預(yù)設(shè)長度;所述特定頭部數(shù)據(jù)包括所述密文的存放區(qū)間和預(yù)置的加密標(biāo)識(shí); 生成所述特定頭部數(shù)據(jù),并保持所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù)不變,將所述特定頭部數(shù)據(jù)和所述密文分別寫入各自對(duì)應(yīng)的存放區(qū)間,得到所述加密后的視頻文件。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,獲取長度為第二預(yù)設(shè)長度的所述特定頭部數(shù)據(jù)的存放區(qū)間,包括 從所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第二預(yù)設(shè)長度一致的存放區(qū)間,得到所述特定頭部數(shù)據(jù)的存放區(qū)間。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,獲取所述密文的存放區(qū)間,包括 獲取所述密文的長度,并判斷所述密文的長度是否大于所述第一預(yù)設(shè)長度與所述第二預(yù)設(shè)長度之間的長度差; 若所述密文的長度小于或等于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文的存放區(qū)間; 若所述密文的長度大于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文中長度為所述長度差的一部分密文的存放區(qū)間;獲取所述需加密視頻文件的存放區(qū)間,從所述需加密視頻文件的存放區(qū)間的末端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述密文中另一部分密文的長度一致的存放空間,得到所述密文中另一部分密文的存放區(qū)間。
7.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾,包括 獲取所述需加密視頻文件的索引節(jié)點(diǎn)信息,所述索引節(jié)點(diǎn)信息包括存儲(chǔ)路徑;所述索引節(jié)點(diǎn)信息與視頻數(shù)據(jù)成對(duì)應(yīng)關(guān)系; 根據(jù)所述需加密視頻文件的存儲(chǔ)路徑,在所有分區(qū)中匹配出存放所述需加密視頻文件的分區(qū); 根據(jù)存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾,計(jì)算出所述加密后視頻文件的存儲(chǔ)路徑,使所述加密后視頻文件的存儲(chǔ)路徑指向存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;得到所述加密后視頻文件的索引節(jié)點(diǎn)信息; 將所述需加密視頻文件的索引節(jié)點(diǎn)信息更改為所述加密后視頻文件的索引節(jié)點(diǎn)信息,以使所述加密后視頻文件移動(dòng)至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括 建立所述需加密視頻文件的索引節(jié)點(diǎn)信息與所述加密后視頻文件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系。
9.一種解密視頻文件的方法,其特征在于,所述方法包括 獲取需解密視頻文件和密鑰; 使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件; 確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件,包括 讀取長度為第二預(yù)設(shè)長度且存放在所述需解密視頻文件頭部的頭部數(shù)據(jù),井根據(jù)所述頭部數(shù)據(jù),獲取密文的存放區(qū)間; 根據(jù)所述密文的存放區(qū)間,讀取所述密文; 使用所述密鑰對(duì)所述密文進(jìn)行解密,獲取所述密文解密后的長度為第一預(yù)設(shè)長度的明文;所述第一預(yù)設(shè)長度大于所述第二預(yù)設(shè)長度; 根據(jù)所述明文和所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù),得到所述解密后視頻文件。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述根據(jù)所述明文和所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù),得到所述解密后視頻文件,包括 獲取所述需解密視頻文件的存放區(qū)間; 從所述需解密視頻文件的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第一預(yù)設(shè)長度一致的存放區(qū)間,得到所述明文的存放區(qū)間; 保持所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù)不變,將所述明文覆蓋至自己的存放區(qū)間,得到所述解密后視頻文件。
12.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述需解密視頻文件為需預(yù)覽視頻文件,所述方法還包括 讀取所述第一預(yù)設(shè)長度的明文和所述剩余數(shù)據(jù),并將所述明文和所述剩余數(shù)據(jù)構(gòu)造為視頻流,提供給流媒體進(jìn)行播放。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置,包括 獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息; 獲取預(yù)先建立的需加密視頻文件的索引節(jié)點(diǎn)信息與加密后視頻文件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系; 從所述對(duì)應(yīng)關(guān)系中獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息對(duì)應(yīng)的在加密前的索引節(jié)點(diǎn)信息;所述在加密前的索引節(jié)點(diǎn)信息包括所述需解密視頻文件在加密前的存儲(chǔ)路徑; 將所述需解密視頻文件的索引節(jié)點(diǎn)信息更改為在加密前的索引節(jié)點(diǎn)信息,以使所述解密后視頻文件移動(dòng)至在所述需解密視頻文件在加密前的存儲(chǔ)路徑指示的存儲(chǔ)位置。
14.一種加密視頻文件的裝置,其特征在于,所述裝置包括 第一獲取模塊,用于獲取需加密視頻文件和密鑰; 加密模塊,用于使用所述密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件; 第二獲取模塊,用于獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū); 第一移動(dòng)模塊,用于在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述裝置還包括 掃描預(yù)置模塊,用于掃描所述移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū); 在掃描出的每ー個(gè)所述分區(qū)中設(shè)置ー個(gè)文件夾。
16.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述加密模塊包括 第一讀取子模塊,用于讀取長度為第一預(yù)設(shè)長度且存放在所述需加密視頻文件頭部的頭部數(shù)據(jù); 加密子模塊,用于使用所述密鑰對(duì)所述頭部數(shù)據(jù)進(jìn)行加密,獲取所述頭部數(shù)據(jù)加密后的密文; 寫子模塊,用于根據(jù)所述密文和所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù),得到所述加密后視頻文件。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述寫子模塊包括 第一獲取單元,用于獲取所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間; 第二獲取單元,用于根據(jù)所述頭部數(shù)據(jù)的存放區(qū)間,獲取長度為第二預(yù)設(shè)長度的特定頭部數(shù)據(jù)的存放區(qū)間;所述第二預(yù)設(shè)長度小于所述第一預(yù)設(shè)長度;所述特定頭部數(shù)據(jù)包括所述密文的存放區(qū)間和預(yù)置的加密標(biāo)識(shí); 第三獲取單元,用于獲取所述密文的存放區(qū)間; 寫単元,用于生成所述特定頭部數(shù)據(jù),并保持所述需加密視頻文件中除所述頭部數(shù)據(jù)外的剰余數(shù)據(jù)不變,將所述特定頭部數(shù)據(jù)和所述密文分別寫入各自對(duì)應(yīng)的存放區(qū)間,得到所述加密后的視頻文件。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述第二獲取單元用干, 從所述頭部數(shù)據(jù)在所述需加密視頻文件中的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第二預(yù)設(shè)長度一致的存放區(qū)間,得到所述特定頭部數(shù)據(jù)的存放區(qū)間。
19.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述第三獲取單元包括 判斷子単元,用于獲取所述密文的長度,并判斷所述密文的長度是否大于所述第一預(yù)設(shè)長度與所述第二預(yù)設(shè)長度之間的長度差; 第一密文區(qū)間子單元,用于若所述密文的長度小于或等于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文的存放區(qū)間; 第二密文區(qū)間子單元,用于若所述密文的長度大于所述長度差,則將所述頭部數(shù)據(jù)的存放區(qū)間減去所述特定頭部數(shù)據(jù)的存放區(qū)間,得到所述密文中長度為所述長度差的一部分密文的存放區(qū)間;獲取所述需加密視頻文件的存放區(qū)間,從所述需加密視頻文件的存放區(qū)間的末端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述密文中另一部分密文的長度一致的存放空間,得到所述密文中另一部分密文的存放區(qū)間。
20.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述第一移動(dòng)模塊包括 第一獲取子模塊,用于獲取所述需加密視頻文件的索引節(jié)點(diǎn)信息,所述索引節(jié)點(diǎn)信息包括存儲(chǔ)路徑;所述索引節(jié)點(diǎn)信息與視頻數(shù)據(jù)成對(duì)應(yīng)關(guān)系; 匹配子模塊,用于根據(jù)所述需加密視頻文件的存儲(chǔ)路徑,在所有分區(qū)中匹配出存放所述需加密視頻文件的分區(qū); 計(jì)算子模塊,用于根據(jù)存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾,計(jì)算出所述加密后視頻文件的存儲(chǔ)路徑,使所述加密后視頻文件的存儲(chǔ)路徑指向存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾;得到所述加密后視頻文件的索引節(jié)點(diǎn)信息; 第一更改子模塊,用于將所述需加密視頻文件的索引節(jié)點(diǎn)信息更改為所述加密后視頻文件的索引節(jié)點(diǎn)信息,以使所述加密后視頻文件移動(dòng)至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。
21.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述第一移動(dòng)模塊還包括 建立子模塊,用于建立所述需加密視頻文件的索引節(jié)點(diǎn)信息與所述加密后視頻文件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系。
22.—種解密視頻文件的裝置,其特征在于,所述裝置包括 第三獲取模塊,用于獲取需解密視頻文件和密鑰; 解密模塊,用于使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件; 第二移動(dòng)模塊,用于確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置。
23.根據(jù)權(quán)利要求22所述的裝置,所述解密模塊包括 第二讀取子模塊,用于讀取長度為第二預(yù)設(shè)長度且存放在所述需解密視頻文件頭部的頭部數(shù)據(jù),井根據(jù)所述頭部數(shù)據(jù),獲取密文的存放區(qū)間; 第三讀取子模塊,用于根據(jù)所述密文的存放區(qū)間,讀取所述密文; 解密子模塊,用于使用所述密鑰對(duì)所述密文進(jìn)行解密,獲取所述密文解密后的長度為第一預(yù)設(shè)長度的明文;所述第一預(yù)設(shè)長度大于所述第二預(yù)設(shè)長度; 覆蓋子模塊,用于根據(jù)所述明文和所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù),得到所述解密后視頻文件。
24.根據(jù)權(quán)利要求23所述的裝置,其特征在于,所述覆蓋子模塊包括 第四獲取單元,用于獲取所述需解密視頻文件的存放區(qū)間; 第五獲取單元,用于從所述需解密視頻文件的存放區(qū)間的始端點(diǎn)開始,獲取存放數(shù)據(jù)的長度與所述第一預(yù)設(shè)長度一致的存放區(qū)間,得到所述明文的存放區(qū)間; 覆蓋單元,用于保持所述需解密視頻文件中除所述頭部數(shù)據(jù)和所述密文外的剰余數(shù)據(jù)不變,將所述明文覆蓋至自己的存放區(qū)間,得到所述解密后視頻文件。
25.根據(jù)權(quán)利要求23所述的裝置,其特征在于,所述需解密視頻文件為需預(yù)覽視頻文件;所述解密模塊還包括 預(yù)覽子模塊,讀取所述第一預(yù)設(shè)長度的明文和所述剩余數(shù)據(jù),并將所述明文和所述剩余數(shù)據(jù)構(gòu)造為視頻流,提供給流媒體進(jìn)行播放。
26.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述第二移動(dòng)模塊包括 第二獲取子模塊,用于獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息; 第三獲取子模塊,用于獲取預(yù)先建立的需加密視頻文件的索引節(jié)點(diǎn)信息與加密后視頻文件的索引節(jié)點(diǎn)信息之間的對(duì)應(yīng)關(guān)系; 第四獲取子模塊,用于從所述對(duì)應(yīng)關(guān)系中獲取所述需解密視頻文件的索引節(jié)點(diǎn)信息對(duì)應(yīng)的在加密前的索引節(jié)點(diǎn)信息;所述在加密前的索引節(jié)點(diǎn)信息包括所述需解密視頻文件在加密前的存儲(chǔ)路徑; 第二更改子模塊,用于將所述需解密視頻文件的索引節(jié)點(diǎn)信息更改為在加密前的索引節(jié)點(diǎn)信息,以使所述解密后視頻文件移動(dòng)至在所述需解密視頻文件在加密前的存儲(chǔ)路徑指示的存儲(chǔ)位置。
27.—種移動(dòng)終端,其特征在于,所述移動(dòng)終端包括如權(quán)利要求14 21任一項(xiàng)所述的加密視頻文件的裝置和如權(quán)利要求22 26任一項(xiàng)所述的解密視頻文件的裝置。
全文摘要
本發(fā)明公開一種加密、解密視頻文件的方法、裝置及移動(dòng)終端,屬于移動(dòng)終端領(lǐng)域。加密視頻文件的方法獲取需加密視頻文件和密鑰;使用密鑰對(duì)所述需加密視頻文件進(jìn)行加密,得到加密后視頻文件;獲取預(yù)先掃描出的移動(dòng)終端及所述移動(dòng)終端上的擴(kuò)展存儲(chǔ)器中除隱藏分區(qū)外的存儲(chǔ)用戶數(shù)據(jù)的分區(qū);在所有分區(qū)中確定存放所述需加密視頻文件的分區(qū),并移動(dòng)所述加密后視頻文件至所述存放所述需加密視頻文件的分區(qū)中的預(yù)置文件夾。解密視頻文件的方法獲取需解密視頻文件和密鑰;使用所述密鑰對(duì)所述需解密視頻文件進(jìn)行解密,得到解密后視頻文件;確定所述需解密視頻文件在加密前的存儲(chǔ)位置,并移動(dòng)所述解密后視頻文件至所述加密前的存儲(chǔ)位置。本發(fā)明加密快。
文檔編號(hào)H04N5/92GK102867153SQ20121031501
公開日2013年1月9日 申請(qǐng)日期2012年8月30日 優(yōu)先權(quán)日2012年8月30日
發(fā)明者陳建銘, 鄭曉勝 申請(qǐng)人:騰訊科技(深圳)有限公司