本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種文件處理方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,用戶可以將個(gè)人電腦、移動(dòng)終端等設(shè)備中的本地?cái)?shù)據(jù)上傳至云服務(wù)器,利用云服務(wù)器存儲(chǔ)個(gè)人數(shù)據(jù),用戶可以隨時(shí)隨地通過網(wǎng)絡(luò)對(duì)存儲(chǔ)在云服務(wù)器中的數(shù)據(jù)進(jìn)行瀏覽、下載、修改等操作,為用戶帶來(lái)極大的便利。
目前,某些非法用戶為了非法獲取云服務(wù)器中的數(shù)據(jù),對(duì)云服務(wù)器的接口進(jìn)行攻擊,而云服務(wù)器的接口一旦遭受攻擊將會(huì)導(dǎo)致云服務(wù)器中存儲(chǔ)的用戶數(shù)據(jù)泄露或者丟失。因此,為了保證用戶數(shù)據(jù)的保密性和安全性,云服務(wù)器會(huì)對(duì)用戶上傳的數(shù)據(jù)進(jìn)行加密存儲(chǔ)。
發(fā)明人在實(shí)施本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有的云服務(wù)器通常采用統(tǒng)一的加密算法對(duì)云服務(wù)器中的數(shù)據(jù)進(jìn)行加密存儲(chǔ),一旦該統(tǒng)一的加密算法被破解,則云服務(wù)器中的所有數(shù)據(jù)都將面臨泄露或者丟失的風(fēng)險(xiǎn),為用戶數(shù)據(jù)帶來(lái)安全隱患。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種文件處理方法和裝置。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種文件處理方法,包括:
生成原始文件對(duì)應(yīng)的種子信息;
根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件。
可選地,所述根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件的步驟,包括:
根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰;
利用所述加密秘鑰,按照預(yù)置加密算法對(duì)所述原始文件進(jìn)行加密處理,得到加密文件。
可選地,所述根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰的步驟,包括:
對(duì)所述種子信息進(jìn)行加鹽處理;
對(duì)加鹽處理后的種子信息進(jìn)行消息摘要算法第五版MD5散列處理,得到對(duì)應(yīng)的散列值;
按照預(yù)置規(guī)則對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理,得到加密秘鑰。
可選地,所述方法還包括:
對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息;
根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件;
發(fā)送所述原始文件。
可選地,所述對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息的步驟,包括:
對(duì)所述加密文件進(jìn)行解析,得到所述加密文件的報(bào)文頭信息;
從所述報(bào)文頭信息中讀取所述加密文件的種子信息。
可選地,所述根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件的步驟,包括:
根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰;
利用所述解密秘鑰,按照預(yù)置解密算法對(duì)所述加密文件進(jìn)行解密處理,得到原始文件。
可選地,所述種子信息為通過隨機(jī)數(shù)生成算法生成的隨機(jī)數(shù)。
可選地,所述方法應(yīng)用于云代理服務(wù)器,所述方法還包括:
將封裝后的所述加密文件發(fā)送至云服務(wù)器。
根據(jù)本發(fā)明的另一方面,提供了一種文件處理裝置,包括:
種子生成模塊,用于生成原始文件對(duì)應(yīng)的種子信息;
文件加密模塊,用于根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
封裝存儲(chǔ)模塊,用于將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件。
可選地,所述文件加密模塊,包括:
加密密鑰生成子模塊,用于根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰;
加密子模塊,用于利用所述加密秘鑰,按照預(yù)置加密算法對(duì)所述原始文件進(jìn)行加密處理,得到加密文件。
可選地,所述加密密鑰生成子模塊,包括:
加鹽處理單元,用于對(duì)所述種子信息進(jìn)行加鹽處理;
散列處理單元,用于對(duì)加鹽處理后的種子信息進(jìn)行消息摘要算法第五版MD5散列處理,得到對(duì)應(yīng)的散列值;
移位替換單元,用于按照預(yù)置規(guī)則對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理,得到加密秘鑰。
可選地,所述裝置還包括:
文件解析模塊,用于對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息;
文件解密模塊,用于根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件;
第一發(fā)送模塊,用于發(fā)送所述原始文件。
可選地,所述文件解析模塊,包括:
解析子模塊,用于對(duì)所述加密文件進(jìn)行解析,得到所述加密文件的報(bào)文頭信息;
讀取子模塊,用于從所述報(bào)文頭信息中讀取所述加密文件的種子信息。
可選地,所述文件解密模塊,包括:
解密密鑰生成子模塊,用于根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰;
解密子模塊,用于利用所述解密秘鑰,按照預(yù)置解密算法對(duì)所述加密文件進(jìn)行解密處理,得到原始文件。
可選地,所述種子信息為通過隨機(jī)數(shù)生成算法生成的隨機(jī)數(shù)。
可選地,所述裝置應(yīng)用于云代理服務(wù)器,所述裝置還包括:
第二發(fā)送模塊,用于將封裝后的所述加密文件發(fā)送至云服務(wù)器。
根據(jù)本發(fā)明實(shí)施例提供的一種文件處理方法和裝置,針對(duì)原始文件生成對(duì)應(yīng)的種子信息,根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件,由于不同的原始文件可以對(duì)應(yīng)不同的種子信息,因此,根據(jù)種子信息對(duì)原始文件進(jìn)行加密處理得到的加密文件具有獨(dú)立性,即使某一個(gè)加密文件被破解,也無(wú)法根據(jù)該加密文件的破解方式破解其他的加密文件,從而可以提高云服務(wù)器的信息安全。
此外,本發(fā)明實(shí)施例還可以根據(jù)種子信息,對(duì)加密文件進(jìn)行封裝并存儲(chǔ),以建立加密文件與種子信息之間的對(duì)應(yīng)關(guān)系,從而可以便捷地對(duì)封裝后的加密文件進(jìn)行解析以及解密,以得到原始文件。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文可選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出可選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理方法的步驟流程圖;
圖2示出了本發(fā)明的一種包括云代理服務(wù)器的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理方法的步驟流程圖;
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理方法的步驟流程圖;以及
圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
方法實(shí)施例一
參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理方法的步驟流程圖,具體可以包括如下步驟:
步驟101、生成原始文件對(duì)應(yīng)的種子信息;
本發(fā)明實(shí)施例可應(yīng)用于云服務(wù)器的應(yīng)用場(chǎng)景,所述云服務(wù)器可接收用戶通過客戶端上傳的原始文件,并且對(duì)所述原始文件進(jìn)行加密并存儲(chǔ);這樣,在接收到用戶針對(duì)云服務(wù)器中存儲(chǔ)的加密文件的訪問請(qǐng)求時(shí),可以對(duì)所述加密文件進(jìn)行解密得到原始文件,并返回給用戶??梢岳斫?,上述云服務(wù)器的應(yīng)用場(chǎng)景只是作為應(yīng)用實(shí)例,實(shí)際上本發(fā)明實(shí)施例對(duì)于具體的應(yīng)用場(chǎng)景不加以限制。
所述原始文件可以包括任意類型的數(shù)據(jù)文件,例如圖片、視頻等。本發(fā)明實(shí)施例針對(duì)原始文件生成對(duì)應(yīng)的種子信息,根據(jù)所述種子信息對(duì)原始文件進(jìn)行加密處理,由于不同的原始文件對(duì)應(yīng)不同的種子信息,因此,根據(jù)種子信息對(duì)原始文件進(jìn)行加密處理得到的加密文件具有獨(dú)立性,即使某一個(gè)加密文件被破解,也無(wú)法根據(jù)該加密文件的破解方式破解其他的加密文件,故可以提高數(shù)據(jù)的安全性。
可選地,本發(fā)明實(shí)施例在對(duì)于上述種子信息所對(duì)應(yīng)原始文件的粒度不加以限制。例如,可以文件為粒度,對(duì)每個(gè)文件單獨(dú)生成一個(gè)種子信息,進(jìn)而對(duì)每個(gè)文件根據(jù)其對(duì)應(yīng)的種子信息單獨(dú)進(jìn)行加密處理?;蛘撸阅夸洖榱6?,對(duì)某個(gè)目錄下的所有文件生成一個(gè)種子信息,進(jìn)而對(duì)該目錄下的所有文件根據(jù)該種子信息統(tǒng)一進(jìn)行加密處理。
在本發(fā)明的一種可選實(shí)施例中,所述種子信息可以為通過隨機(jī)數(shù)生成算法生成的隨機(jī)數(shù),以保證不同原始文件對(duì)應(yīng)不同的種子信息。具體地,在接收到用戶上傳的原始文件后,可以按照預(yù)設(shè)的隨機(jī)數(shù)生成算法生成隨機(jī)數(shù)作為該原始文件對(duì)應(yīng)的種子信息。當(dāng)然,能夠保證種子信息具有隨機(jī)性和唯一性的任意種子生成算法均在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
步驟102、根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
在本發(fā)明的一種可選實(shí)施例中,所述根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件的步驟,具體可以包括:
步驟S11、根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰;
本發(fā)明實(shí)施例根據(jù)種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰,使得不同的原始文件可以對(duì)應(yīng)不同的加密秘鑰,即使某一個(gè)加密秘鑰被破解,也不會(huì)影響其他的加密秘鑰,可以提高加密秘鑰破解的難度,進(jìn)而可以提高加密秘鑰的安全性。
在本發(fā)明的一種實(shí)施例中,可以直接對(duì)種子信息進(jìn)行MD5(Message Digest Algorithm,消息摘要算法第五版)處理得到散列值,并且將該散列值作為加密秘鑰,其中,MD5作為不可逆的加密方法,較為安全,但是如果單獨(dú)采用MD5算法,對(duì)于長(zhǎng)度較短的種子信息仍然存在被彩虹表破解的風(fēng)險(xiǎn)。
針對(duì)上述長(zhǎng)度較短的種子信息存在的被彩虹表破解的風(fēng)險(xiǎn),在本發(fā)明的另一種可選實(shí)施例中,所述根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰的步驟,具體可以包括:
步驟S111、對(duì)所述種子信息進(jìn)行加鹽處理;
本發(fā)明實(shí)施例在對(duì)種子信息進(jìn)行MD5散列處理之前,先對(duì)種子信息進(jìn)行加鹽處理,也即,在種子信息較短的情況下,可以在該種子信息后加上一段較長(zhǎng)的字符串,這段字符串可以稱為“鹽”,然后再對(duì)加鹽處理后的種子信息計(jì)算MD5對(duì)應(yīng)的散列值,將能增加種子信息的反推難度,進(jìn)而可以提高加密秘鑰的安全性。
步驟S112、對(duì)加鹽處理后的種子信息進(jìn)行消息摘要算法第五版MD5散列處理,得到對(duì)應(yīng)的散列值;
步驟S113、按照預(yù)置規(guī)則對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理,得到加密秘鑰。
通過對(duì)種子信息進(jìn)行加鹽處理以及MD5散列處理之后,得到的散列值可以作為加密秘鑰,該加密秘鑰已經(jīng)較為安全,即使非法用戶獲取該加密秘鑰,也難以反推出種子信息。然而,為了防止非法用戶對(duì)加密秘鑰通過暴力破解的方式獲取種子信息,本發(fā)明實(shí)施例對(duì)MD5散列處理后得到的散列值,進(jìn)一步執(zhí)行移位運(yùn)算以及預(yù)置位替換處理,最終得到更為安全的加密秘鑰,也即,能夠進(jìn)一步提高加密密鑰的安全性,以及進(jìn)一步增加種子信息的反推難度。
其中,所述移位運(yùn)算是指對(duì)所述散列值按二進(jìn)制形式把所有的數(shù)字向左或者向右移動(dòng)對(duì)應(yīng)的位數(shù)。所述預(yù)置位替換指的是對(duì)所述散列值按二進(jìn)制形式把其中的某一位替換為預(yù)設(shè)的值,例如將二進(jìn)制的第二位替換為0??梢岳斫?,本發(fā)明實(shí)施例對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理的預(yù)置規(guī)則不加以限制。
在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例可以先對(duì)所述散列值進(jìn)行移位運(yùn)算后,再對(duì)移位運(yùn)算后的散列值進(jìn)行預(yù)置位替換處理,得到加密秘鑰?;蛘?,還可以選取移位運(yùn)算和預(yù)置位替換處理中的任意一種對(duì)所述散列值進(jìn)行處理,得到加密秘鑰。由此,本發(fā)明實(shí)施例的加密秘鑰生成過程較為復(fù)雜,提高了加密秘鑰的安全性。
在本發(fā)明的一種可選實(shí)施例中,可以在云服務(wù)器或者云代理服務(wù)器的內(nèi)存中生成所述加密秘鑰,并且生成的加密秘鑰不存儲(chǔ)在磁盤中,以防止非法用戶通過讀取云服務(wù)器或者云代理服務(wù)器的磁盤獲取加密秘鑰,進(jìn)一步保證加密秘鑰的安全性。
步驟S12、利用所述加密秘鑰,按照預(yù)置加密算法對(duì)所述原始文件進(jìn)行加密處理,得到加密文件。
其中,所述預(yù)置加密算法可以為AES(Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn)),如AES-128。具體地,利用上述生成的加密秘鑰,對(duì)原始文件進(jìn)行AES-128加密,得到加密文件??梢岳斫?,本發(fā)明實(shí)施例對(duì)于所述預(yù)置加密算法的具體種類不加以限制,例如還可以為DEA(Data Encryption Algorithm,數(shù)據(jù)加密算法)、RSA(非對(duì)稱加密算法)等。
步驟103、將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件。
本發(fā)明實(shí)施例在對(duì)原始文件進(jìn)行加密處理得到對(duì)應(yīng)的加密文件之后,還可以對(duì)加密文件進(jìn)行封裝,具體地,可以對(duì)所述加密文件增加自定義的報(bào)文頭,將該加密文件對(duì)應(yīng)的種子信息封裝在加密文件的報(bào)文頭中,以在對(duì)該加密文件進(jìn)行解密時(shí),可以獲取該加密文件對(duì)應(yīng)的種子信息,進(jìn)而對(duì)加密文件進(jìn)行解密得到對(duì)應(yīng)的原始文件。
綜上,本發(fā)明實(shí)施例對(duì)原始文件生成對(duì)應(yīng)的種子信息,根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件,由于不同的原始文件可以對(duì)應(yīng)不同的種子信息,因此,根據(jù)種子信息對(duì)原始文件進(jìn)行加密處理得到的加密文件具有獨(dú)立性,即使某一個(gè)加密文件被破解,也無(wú)法根據(jù)該加密文件的破解方式破解其他的加密文件,從而可以提高云服務(wù)器的信息安全。
此外,本發(fā)明實(shí)施例還可以根據(jù)種子信息,對(duì)加密文件進(jìn)行封裝并存儲(chǔ),以建立加密文件與種子信息之間的對(duì)應(yīng)關(guān)系,從而可以便捷地對(duì)封裝后的加密文件進(jìn)行解析以及解密,以得到原始文件。
方法實(shí)施例二
為了進(jìn)一步提高云服務(wù)器的信息安全,本發(fā)明實(shí)施例還可以應(yīng)用于云代理服務(wù)器,如Nginx服務(wù)器等。參照?qǐng)D2,示出了本發(fā)明的一種包括云代理服務(wù)器的網(wǎng)絡(luò)結(jié)構(gòu)示意圖,所述云代理服務(wù)器202連接在客戶端201和云服務(wù)器203之間。
參照?qǐng)D3,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理方法的步驟流程圖,具體可以包括如下步驟:
步驟301、生成原始文件對(duì)應(yīng)的種子信息;
步驟302、根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
步驟303、將所述種子信息封裝在所述加密文件的報(bào)文頭中;
步驟304、將封裝后的所述加密文件發(fā)送至云服務(wù)器進(jìn)行存儲(chǔ)。
在本發(fā)明實(shí)施例中,所述云代理服務(wù)器可以接收用戶通過客戶端上傳的原始文件,并且利用本發(fā)明提供的文件處理方法對(duì)所述原始文件進(jìn)行加密以及封裝處理,得到封裝后的加密文件,最后將所述封裝后的加密文件發(fā)送至云服務(wù)器進(jìn)行存儲(chǔ)。
當(dāng)所述云代理服務(wù)器接收到用戶針對(duì)云服務(wù)器中的數(shù)據(jù)的訪問請(qǐng)求時(shí),所述云代理服務(wù)器可以從云服務(wù)器中獲取該用戶請(qǐng)求的封裝后的加密文件,所述云代理服務(wù)器對(duì)所述封裝后的加密文件進(jìn)行解析以及解密處理,得到對(duì)應(yīng)的原始文件,再將該原始文件返回給用戶。
本發(fā)明實(shí)施例通過云代理服務(wù)器接收用戶上傳的原始文件,并且通過云代理服務(wù)器對(duì)所述原始文件進(jìn)行加密以及封裝,最后將封裝后的加密文件上傳至云服務(wù)器進(jìn)行存儲(chǔ)。雖然用戶數(shù)據(jù)仍然存儲(chǔ)在云服務(wù)器中,但是用戶只能通過云代理服務(wù)器間接訪問云服務(wù)器中存儲(chǔ)的數(shù)據(jù),而不能直接訪問云服務(wù)器,從而可以進(jìn)一步提高云服務(wù)器的信息安全。
方法實(shí)施例三
本實(shí)施例應(yīng)用于云代理服務(wù)器,并且將用戶上傳的原始文件進(jìn)行加密以及封裝處理后,保存在云代理服務(wù)器中,通過云代理服務(wù)器和用戶進(jìn)行數(shù)據(jù)交互。參照?qǐng)D4,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理方法的步驟流程圖,具體可以包括如下步驟:
步驟401、生成原始文件對(duì)應(yīng)的種子信息;
步驟402、根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
步驟403、將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件;
步驟404、對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息;
在本發(fā)明的一種可選實(shí)施例中,所述對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息的步驟,具體可以包括:
步驟S31、對(duì)所述加密文件進(jìn)行解析,得到所述加密文件的報(bào)文頭信息;
步驟S32、從所述報(bào)文頭信息中讀取所述加密文件的種子信息。
步驟405、根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件;
步驟406、發(fā)送所述原始文件。
在本發(fā)明的一種可選實(shí)施例中,所述根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件的步驟,具體可以包括:
步驟S41、根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰;
步驟S42、利用所述解密秘鑰,按照預(yù)置解密算法對(duì)所述加密文件進(jìn)行解密處理,得到原始文件。
在本發(fā)明實(shí)施例中,在對(duì)加密文件進(jìn)行解密的過程中,對(duì)解析得到的種子信息按照與生成加密秘鑰相同的算法進(jìn)行計(jì)算,以得到解密秘鑰,進(jìn)而可以根據(jù)所述解密秘鑰對(duì)加密文件進(jìn)行解密處理,得到原始文件,其中,所述預(yù)置解密算法與預(yù)置加密算法相同。
可選地,由于加密秘鑰和解密秘鑰的生成方法相同,因此,還可以直接利用加密秘鑰對(duì)所述加密文件進(jìn)行解密處理。為了保證解密的準(zhǔn)確性,本發(fā)明實(shí)施例根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰,并且對(duì)所述加密秘鑰和解密秘鑰進(jìn)行比較,若二者相同,則說明加密文件合法,可以對(duì)該加密文件進(jìn)行解密;否則,說明加密文件不合法,則拒絕對(duì)該加密文件進(jìn)行解密,以避免向用戶發(fā)送解密錯(cuò)誤的文件。
綜上,本發(fā)明實(shí)施例可應(yīng)用于云代理服務(wù)器,并且將用戶上傳的原始文件進(jìn)行加密以及封裝處理后,保存在云代理服務(wù)器中,在所述云代理服務(wù)器接收到用戶針對(duì)數(shù)據(jù)的訪問請(qǐng)求時(shí),云代理服務(wù)器可以直接對(duì)該用戶請(qǐng)求的封裝后的加密文件進(jìn)行解析以及解密,得到原始文件并發(fā)送給用戶,云代理服務(wù)器不用與云服務(wù)器進(jìn)行交互,從而可以提高數(shù)據(jù)傳輸?shù)男?,并且減輕云服務(wù)器的負(fù)擔(dān)。
裝置實(shí)施例
參照?qǐng)D5,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種文件處理裝置的結(jié)構(gòu)框圖,具體可以包括如下模塊:
種子生成模塊501,用于生成原始文件對(duì)應(yīng)的種子信息;
文件加密模塊502,用于根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
封裝存儲(chǔ)模塊503,用于將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件。
在本發(fā)明的一種可選實(shí)施例中,所述文件加密模塊502,具體可以包括:
加密密鑰生成子模塊,用于根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰;
加密子模塊,用于利用所述加密秘鑰,按照預(yù)置加密算法對(duì)所述原始文件進(jìn)行加密處理,得到加密文件。
在本發(fā)明的另一種可選實(shí)施例中,所述加密密鑰生成子模塊,具體可以包括:
加鹽處理單元,用于對(duì)所述種子信息進(jìn)行加鹽處理;
散列處理單元,用于對(duì)加鹽處理后的種子信息進(jìn)行消息摘要算法第五版MD5散列處理,得到對(duì)應(yīng)的散列值;
移位替換單元,用于按照預(yù)置規(guī)則對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理,得到加密秘鑰。
在本發(fā)明的又一種可選實(shí)施例中,所述裝置還可以包括:
文件解析模塊,用于對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息;
文件解密模塊,用于根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件;
第一發(fā)送模塊,用于發(fā)送所述原始文件。
在本發(fā)明的再一種可選實(shí)施例中,所述文件解析模塊,具體可以包括:
解析子模塊,用于對(duì)所述加密文件進(jìn)行解析,得到所述加密文件的報(bào)文頭信息;
讀取子模塊,用于從所述報(bào)文頭信息中讀取所述加密文件的種子信息。
在本發(fā)明的再一種可選實(shí)施例中,所述文件解密模塊,具體可以包括:
解密密鑰生成子模塊,用于根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰;
解密子模塊,用于利用所述解密秘鑰,按照預(yù)置解密算法對(duì)所述加密文件進(jìn)行解密處理,得到原始文件。
在本發(fā)明的再一種可選實(shí)施例中,所述種子信息為通過隨機(jī)數(shù)生成算法生成的隨機(jī)數(shù)。
在本發(fā)明的再一種可選實(shí)施例中,所述裝置可應(yīng)用于云代理服務(wù)器,所述裝置還可以包括:
第二發(fā)送模塊,用于將封裝后的所述加密文件發(fā)送至云服務(wù)器。
對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其他設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其他實(shí)施例中所包括的某些特征而不是其他特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的文件處理方法和裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)平臺(tái)上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包括”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了A1、一種文件處理方法,包括:
生成原始文件對(duì)應(yīng)的種子信息;
根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件。
A2、如A1所述的方法,所述根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件的步驟,包括:
根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰;
利用所述加密秘鑰,按照預(yù)置加密算法對(duì)所述原始文件進(jìn)行加密處理,得到加密文件。
A3、如A2所述的方法,所述根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰的步驟,包括:
對(duì)所述種子信息進(jìn)行加鹽處理;
對(duì)加鹽處理后的種子信息進(jìn)行消息摘要算法第五版MD5散列處理,得到對(duì)應(yīng)的散列值;
按照預(yù)置規(guī)則對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理,得到加密秘鑰。
A4、如A1所述的方法,所述方法還包括:
對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息;
根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件;
發(fā)送所述原始文件。
A5、如A4所述的方法,所述對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息的步驟,包括:
對(duì)所述加密文件進(jìn)行解析,得到所述加密文件的報(bào)文頭信息;
從所述報(bào)文頭信息中讀取所述加密文件的種子信息。
A6、如A4所述的方法,所述根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件的步驟,包括:
根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰;
利用所述解密秘鑰,按照預(yù)置解密算法對(duì)所述加密文件進(jìn)行解密處理,得到原始文件。
A7、如A1至A6中任一所述的方法,所述種子信息為通過隨機(jī)數(shù)生成算法生成的隨機(jī)數(shù)。
A8、如A1所述的方法,所述方法應(yīng)用于云代理服務(wù)器,所述方法還包括:
將封裝后的所述加密文件發(fā)送至云服務(wù)器。
本發(fā)明公開了B9、一種文件處理裝置,包括:
種子生成模塊,用于生成原始文件對(duì)應(yīng)的種子信息;
文件加密模塊,用于根據(jù)所述種子信息對(duì)所述原始文件進(jìn)行加密處理,得到所述原始文件對(duì)應(yīng)的加密文件;
封裝存儲(chǔ)模塊,用于將所述種子信息封裝在所述加密文件的報(bào)文頭中,存儲(chǔ)封裝后的加密文件。
B10、如B9所述的裝置,所述文件加密模塊,包括:
加密密鑰生成子模塊,用于根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的加密秘鑰;
加密子模塊,用于利用所述加密秘鑰,按照預(yù)置加密算法對(duì)所述原始文件進(jìn)行加密處理,得到加密文件。
B11、如B10所述的裝置,所述加密密鑰生成子模塊,包括:
加鹽處理單元,用于對(duì)所述種子信息進(jìn)行加鹽處理;
散列處理單元,用于對(duì)加鹽處理后的種子信息進(jìn)行消息摘要算法第五版MD5散列處理,得到對(duì)應(yīng)的散列值;
移位替換單元,用于按照預(yù)置規(guī)則對(duì)所述散列值進(jìn)行移位運(yùn)算和/或預(yù)置位替換處理,得到加密秘鑰。
B12、如B9所述的裝置,所述裝置還包括:
文件解析模塊,用于對(duì)所述加密文件進(jìn)行解析,得到所述加密文件對(duì)應(yīng)的種子信息;
文件解密模塊,用于根據(jù)所述種子信息對(duì)所述加密文件進(jìn)行解密處理,得到原始文件;
第一發(fā)送模塊,用于發(fā)送所述原始文件。
B13、如B12所述的裝置,所述文件解析模塊,包括:
解析子模塊,用于對(duì)所述加密文件進(jìn)行解析,得到所述加密文件的報(bào)文頭信息;
讀取子模塊,用于從所述報(bào)文頭信息中讀取所述加密文件的種子信息。
B14、如B12所述的裝置,所述文件解密模塊,包括:
解密密鑰生成子模塊,用于根據(jù)所述種子信息生成所述原始文件對(duì)應(yīng)的解密秘鑰;
解密子模塊,用于利用所述解密秘鑰,按照預(yù)置解密算法對(duì)所述加密文件進(jìn)行解密處理,得到原始文件。
B15、如B9至B14中任一所述的裝置,所述種子信息為通過隨機(jī)數(shù)生成算法生成的隨機(jī)數(shù)。
B16、如B9所述的裝置,所述裝置應(yīng)用于云代理服務(wù)器,所述裝置還包括:
第二發(fā)送模塊,用于將封裝后的所述加密文件發(fā)送至云服務(wù)器。