本發(fā)明涉及加密技術(shù)領(lǐng)域,特別是涉及一種基于二進制編碼的數(shù)據(jù)加密、解密方法及裝置。
背景技術(shù):
目前,文件在網(wǎng)絡(luò)傳輸過程中為了保證其安全性,通常會為文件進行加密,比如,采用約定的字符或者帶有生物特征信息的數(shù)據(jù)例如指紋等作為密碼。但是,這些數(shù)據(jù)信息只能以固定的數(shù)據(jù)存在,其數(shù)據(jù)就是信息的全部數(shù)據(jù)或者只是普通加密過的數(shù)據(jù),除了安全區(qū)域防止外界訪問之外,沒有更好的管理方式。
隨著互聯(lián)網(wǎng)的飛速發(fā)展,電腦黑客的活動日益猖獗,黑客技術(shù)也在日益更新,所以傳統(tǒng)的加密技術(shù)已經(jīng)不能阻值黑客的入侵,無法保證數(shù)據(jù)的安全性。
技術(shù)實現(xiàn)要素:
針對于上述問題,本發(fā)明提供一種數(shù)據(jù)加密、解密方法及裝置,實現(xiàn)了防止黑客對數(shù)據(jù)的破解,進而保護數(shù)據(jù)安全性的目的。
為了實現(xiàn)上述目的,根據(jù)本發(fā)明的第一方面,提供了一種數(shù)據(jù)加密方法,該方法包括:
獲取原始數(shù)據(jù),對所述原始數(shù)據(jù)進行加密,生成加密數(shù)據(jù)和密鑰;
獲取與所述密鑰對應(yīng)的解密程序,將所述解密程序轉(zhuǎn)化為二進制編碼,計算所述二進制編碼的相關(guān)信息,其中,所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
將所述二進制編碼的相關(guān)信息和所述二進制編碼按照預(yù)設(shè)的格式拼接到所述加密數(shù)據(jù)中,得到密文。
優(yōu)選的,所述獲取原始數(shù)據(jù),對原始數(shù)據(jù)進行加密,生成加密數(shù)據(jù),包括:
獲取原始數(shù)據(jù);
采用第一加密程序?qū)λ鲈紨?shù)據(jù)進行加密,獲得第一加密數(shù)據(jù);
采用第二加密程序?qū)λ龅谝患用軘?shù)據(jù)進行加密,生成加密數(shù)據(jù),其中,所述第二加密程序為預(yù)設(shè)存儲的加密程序。
優(yōu)選的,所述將所述二進制編碼的相關(guān)信息和所述二進制編碼按照預(yù)設(shè)的格式拼接到所述加密數(shù)據(jù)中,得到密文,包括:
將所述標識特征碼、所述二進制編碼長度、所述二進制編碼的偏移量、所述二進制編碼和所述密鑰依次連接,獲得第一數(shù)據(jù)鏈;
根據(jù)所述二進制編碼的偏移量,確定所述二進制編碼的插入位置;
根據(jù)所述插入位置,將所述二進制編碼插入到所述加密數(shù)據(jù)中,得到第二數(shù)據(jù)鏈;
在所述第一數(shù)據(jù)鏈后拼接所述第二數(shù)據(jù)鏈,得到密文。
根據(jù)本發(fā)明的第二方面,提供了一種數(shù)據(jù)解密方法,該方法包括:
獲取密文,其中,所述密文包含標識特征碼、二進制編碼的相關(guān)信息、二進制編碼和加密數(shù)據(jù),所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,則根據(jù)所述二進制編碼長度和二進制編碼的偏移量獲取所述二進制編碼;
將所述二進制編碼轉(zhuǎn)換為解密程序;
通過所述解密程序?qū)λ雒芪倪M行解密,獲得原始數(shù)據(jù)。
優(yōu)選的,所述對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,則根據(jù)所述二進制編碼長度和二進制編碼的偏移量獲取所述二進制編碼,包括:
對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,根據(jù)所述二進制編碼的偏移量確定所述二進制編碼在加密數(shù)據(jù)中的插入位置;
根據(jù)所述二進制編碼的長度確定所述二進制編碼,并在所述二進制編碼在加密數(shù)據(jù)中的插入位置處提取出所述二進制編碼。
優(yōu)選的,所述通過所述解密程序?qū)λ雒芪倪M行解密,獲得原始數(shù)據(jù),包括:
采用所述解密程序?qū)λ雒芪倪M行解密,獲得所述第一解密數(shù)據(jù),其中,所述解密程序為與預(yù)設(shè)的加密程序?qū)?yīng)的解密程序;
采用解密算法對所述第一解密數(shù)據(jù)進行解密,獲得所述原始數(shù)據(jù)。
根據(jù)本發(fā)明的第三方面,提供了一種數(shù)據(jù)加密裝置,該裝置包括:
第一加密模塊,用于獲取原始數(shù)據(jù),對所述原始數(shù)據(jù)進行加密,生成加密數(shù)據(jù)和密鑰;
轉(zhuǎn)換模塊,用于獲取與所述密鑰對應(yīng)的解密程序,將所述解密程序轉(zhuǎn)化為二進制編碼,計算所述二進制編碼的相關(guān)信息,其中,所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
第二加密模塊,用于將所述二進制編碼的相關(guān)信息和所述二進制編碼按照預(yù)設(shè)的格式拼接到所述加密數(shù)據(jù)中,得到密文。。
優(yōu)選的,所述第一加密模塊包括:
獲取單元,用于獲取原始數(shù)據(jù);
第一加密單元,用于采用第一加密程序?qū)λ鲈紨?shù)據(jù)進行加密,獲得第一加密數(shù)據(jù);
第二加密單元,用于采用第二加密程序?qū)λ龅谝患用軘?shù)據(jù)進行加密,生成加密數(shù)據(jù),其中,所述第二加密程序為預(yù)設(shè)存儲的加密程序。
優(yōu)選的,所述第二加密模塊包括:
連接單元,用于將所述標識特征碼、所述二進制編碼長度、所述二進制編碼的偏移量、所述二進制編碼和所述密鑰依次連接,獲得第一數(shù)據(jù)鏈;
確定單元,用于根據(jù)所述二進制編碼的偏移量,確定所述二進制編碼的插入位置;
插入單元,用于根據(jù)所述插入位置,將所述二進制編碼插入到所述加密數(shù)據(jù)中,得到第二數(shù)據(jù)鏈;
密文獲取單元,用于在所述第一數(shù)據(jù)鏈后拼接所述第二數(shù)據(jù)鏈,得到密文。
根據(jù)本發(fā)明的第四方面,提供了一種數(shù)據(jù)解密裝置,該裝置包括:
獲取模塊,用于獲取密文,其中,所述密文包含標識特征碼、二進制編碼的相關(guān)信息、二進制編碼和加密數(shù)據(jù),所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
分析模塊,用于對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,則根據(jù)所述二進制編碼長度和二進制編碼的偏移量獲取所述二進制編碼;
轉(zhuǎn)換模塊,用于將所述二進制編碼轉(zhuǎn)換為解密程序;
解密模塊,用于通過所述解密程序?qū)λ雒芪倪M行解密,獲得原始數(shù)據(jù)。
優(yōu)選的,所述分析模塊包括:
分析單元,用于對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,根據(jù)所述二進制編碼的偏移量確定所述二進制編碼在加密數(shù)據(jù)中的插入位置;
提取單元,用于根據(jù)所述二進制編碼的長度確定所述二進制編碼,并在所述二進制編碼在加密數(shù)據(jù)中的插入位置處提取出所述二進制編碼。
優(yōu)選的,所述解密模塊包括:
第一解密單元,用于采用所述解密程序?qū)λ雒芪倪M行解密,獲得所述第一解密數(shù)據(jù),其中,所述解密程序為與預(yù)設(shè)的加密程序?qū)?yīng)的解密程序;
第二解密單元,用于采用解密算法對所述第一解密數(shù)據(jù)進行解密,獲得所述原始數(shù)據(jù)。
相較于現(xiàn)有技術(shù),本發(fā)明的數(shù)據(jù)加密方法先對原始數(shù)據(jù)通過普通的加密方法進行加密,生成加密數(shù)據(jù);然后將采用的普通加密方法對應(yīng)的解密程序,轉(zhuǎn)換為二進制編碼,在所述加密數(shù)據(jù)中加入該二進制編碼,得到密文。通過將二進制編碼加入到加密數(shù)據(jù)中,即使黑客入侵得到了加密數(shù)據(jù)沒有任何關(guān)于該二進制編碼的解密信息,也無法破解出真正的原始數(shù)據(jù),而在數(shù)據(jù)解密過程中,通過對所述二進制編碼進行解碼還原數(shù)據(jù),保護了數(shù)據(jù)的安全性,最終實現(xiàn)了防止黑客對數(shù)據(jù)的破解,進而保護數(shù)據(jù)安全性的目的。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例一提供的一種數(shù)據(jù)加密方法的流程示意圖;
圖2為本發(fā)明實施例二提供的一種數(shù)據(jù)解密方法的流程示意圖;
圖3為本發(fā)明實施例三提供的一種數(shù)據(jù)加密裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例四提供的一種數(shù)據(jù)解密裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”和“第二”等是用于區(qū)別不同的對象,而不是用于描述特定的順序。此外術(shù)語“包括”和“具有”以及他們?nèi)魏巫冃?,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒有設(shè)定于已列出的步驟或單元,而是可包括沒有列出的步驟或單元。
實施例一
參見圖1為本發(fā)明實施例一提供的一種數(shù)據(jù)加密方法的流程示意圖,該方法包括以下步驟:
s11、獲取原始數(shù)據(jù),對所述原始數(shù)據(jù)進行加密,生成加密數(shù)據(jù)和密鑰;
具體的,所述的原始數(shù)據(jù)可以包括任何待加密的數(shù)據(jù)類型,比如指紋數(shù)據(jù)類型或者其他文件等數(shù)據(jù)信息。
同時,在獲取原始數(shù)據(jù)時,可以初始化部分內(nèi)存空間,所述內(nèi)存空間包括兩部分空間,一部分為用來存儲加密程序的存儲空間,進一步的存儲的加密程序可以為多個加密程序,另一部分為待用空間即該空間內(nèi)沒有任何數(shù)據(jù),為后續(xù)存儲二進制編碼的相關(guān)信息做準備,其中,所述二進制編碼的相關(guān)信息包括:標識特征碼、二進制編碼長度、二進制編碼的偏移量、二進制編碼和解碼密鑰。當然也可以自定義加密程序存放位置,本發(fā)明對此不做限制。
進一步可以理解的是,如果需要進行加密的數(shù)據(jù)為不同的文件種類或者數(shù)據(jù)格式,比如既有指紋數(shù)據(jù)類型又有文字數(shù)據(jù)類型,所以在初始化內(nèi)存空間的時候,可以初始化多個部分的內(nèi)存空間,根據(jù)數(shù)據(jù)類型的不同對不同的加密程序進行對應(yīng)存儲,預(yù)留多個待用空間針對后續(xù)不同的二進制編碼信息。
相應(yīng)的所述步驟s11具體包括以下步驟:
獲取原始數(shù)據(jù);
采用第一加密程序?qū)λ鲈嫉臄?shù)據(jù)進行加密,獲得第一加密數(shù)據(jù);
采用第二加密程序?qū)λ龅谝患用軘?shù)據(jù)進行加密,生成加密數(shù)據(jù),其中,所述第二加密程序為預(yù)設(shè)存儲的加密程序。
可以理解的是,先采用第一加密程序?qū)?shù)據(jù)進行普通加密,此處采用的第一加密程序為現(xiàn)有技術(shù)中最常見的加密方法;然后調(diào)用預(yù)設(shè)存儲的第二加密程序,由于初始化的存儲空間可以存儲有多個加密程序,所以對原始數(shù)據(jù)進行加密的過程中,可以隨機調(diào)用存儲空間中的一個加密程序?qū)λ鰯?shù)據(jù)進行加密,根據(jù)調(diào)用的加密程序生成隨機密鑰,使用該隨機密鑰對普通加密后的數(shù)據(jù)進行再次加密,而該隨機密鑰既是加密密鑰,也是后續(xù)過程中的解密密鑰,同時根據(jù)加密程序可以生成對應(yīng)的解密程序。
s12、獲取與所述密鑰對應(yīng)的解密程序,將所述解密程序轉(zhuǎn)化為二進制編碼,計算所述二進制編碼的相關(guān)信息,其中,所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
s13、將所述二進制編碼的相關(guān)信息和所述二進制編碼按照預(yù)設(shè)的格式拼接到所述加密數(shù)據(jù)中,得到密文。
具體的,所述步驟s13具體包括:
將所述標識特征碼、所述二進制編碼長度、所述二進制編碼的偏移量、所述二進制編碼和所述密鑰依次連接,獲得第一數(shù)據(jù)鏈;
根據(jù)所述二進制編碼的偏移量,確定所述二進制編碼的插入位置;
根據(jù)所述插入位置,將所述二進制編碼插入到所述加密數(shù)據(jù)中,得到第二數(shù)據(jù)鏈;
在所述第一數(shù)據(jù)鏈后拼接所述第二數(shù)據(jù)鏈,得到密文。
可以理解的是,按照所述標識特征碼、所述二進制編碼長度、所述二進制編碼的偏移量、所述二進制編碼和解碼密鑰的順序進行連接,獲得連接后的數(shù)據(jù)包為第一數(shù)據(jù)鏈,根據(jù)所述插入位置,將所述二進制編碼插入到所述加密數(shù)據(jù)中,得到第二數(shù)據(jù)鏈。
具體的,當解密程序匯編成soc對應(yīng)的可執(zhí)行的二進制編碼格式時,轉(zhuǎn)換后的二進制編碼最好控制在60字節(jié)以內(nèi),然后計算該二進制編碼長度(1個字節(jié)),標識特征碼(1個字節(jié)),二進制編碼的偏移量(4個字節(jié)),并將上述信息按照所述標識特征碼、所述二進制編碼長度、所述二進制編碼的偏移量、所述二進制編碼和解碼密鑰的順序進行連接,獲得連接后的數(shù)據(jù)包,根據(jù)所述二進制編碼的偏移量,確定所述加密數(shù)據(jù)的二進制編碼的插入位置;然后二進制編碼的偏移量獲得所述插入位置,將所述二進制編碼插入到所述加密數(shù)據(jù)中,得到插入后的數(shù)據(jù);在所述連接后的數(shù)據(jù)包后拼接所述插入后的數(shù)據(jù),得到二進制編碼加密數(shù)據(jù)即密文。
可以理解的是,在獲得加密數(shù)據(jù)后即普通加密方法得到的加密數(shù)據(jù),還可以詢問用戶是否使用二進制編碼方式再次進行加密,如果是則執(zhí)行步驟s13,如果否則對應(yīng)的將標識特征碼的最高位設(shè)置為不使用二進制編碼再次加密,后將普通加密后的數(shù)據(jù)輸出即可。
通過本發(fā)明實施例一公開的技術(shù)方案,先對原始數(shù)據(jù)通過普通的加密方法進行加密,生成加密數(shù)據(jù);然后將采用的普通加密方法對應(yīng)的解密程序,轉(zhuǎn)換為二進制編碼,在所述加密數(shù)據(jù)中加入該二進制編碼,得到密文。通過將二進制編碼加入到加密數(shù)據(jù)中,即使黑客入侵得到了加密數(shù)據(jù)沒有任何關(guān)于該二進制編碼的解密信息,也無法破解出真正的原始數(shù)據(jù),而在數(shù)據(jù)解密過程中,通過對所述二進制編碼進行解碼還原數(shù)據(jù),保護了數(shù)據(jù)的安全性,最終實現(xiàn)了防止黑客對數(shù)據(jù)的破解,進而保護數(shù)據(jù)安全性的目的。
實施例二
參照圖2為本發(fā)明實施例二提供的一種數(shù)據(jù)解密方法的流程示意圖,該方法包括:
s21、獲取密文,其中,所述密文包含標識特征碼、二進制編碼的相關(guān)信息、二進制編碼和加密數(shù)據(jù),所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
s22、對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,則根據(jù)所述二進制編碼長度和二進制編碼的偏移量獲取所述二進制編碼;
具體的,密文前6個字節(jié)依次定義為:標識特征碼(1個字節(jié))和二進制編碼的相關(guān)信息(5個字節(jié)),二進制編碼的相關(guān)信息依次為解碼程序長度(1個字節(jié))、二進制編碼的偏移量(4個字節(jié));在獲取密文之后,先讀取密文的第一個字節(jié)的標識特征碼,判斷讀取識別特征碼時是否有使用二進制編碼來讀取,如果是則讀取密文的前6個字節(jié),根據(jù)對應(yīng)的標識特征碼和二進制編碼的相關(guān)信息進行分析;
具體的,根據(jù)對應(yīng)的標識特征碼和二進制編碼對應(yīng)的二進制編碼長度,從偏移量指定的字節(jié)偏移開始讀取二進制編碼的長度的數(shù)據(jù)載入內(nèi)存,讀取出解碼密鑰。所述步驟s22具體包括以下步驟:
對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,根據(jù)所述二進制編碼的偏移量確定所述二進制編碼在加密數(shù)據(jù)中的插入位置;
根據(jù)所述二進制編碼的長度確定所述二進制編碼,并在所述二進制編碼在加密數(shù)據(jù)中的插入位置處提取出所述二進制編碼。
s23、將所述二進制編碼轉(zhuǎn)換為解密程序;
s24、通過所述解密程序?qū)λ雒芪?,獲得原始數(shù)據(jù)。
所述步驟s24具體的包括:
采用所述解密程序?qū)λ雒芪倪M行解密,獲得所述第一解密數(shù)據(jù),其中,所述解密程序為與預(yù)設(shè)的加密程序?qū)?yīng)的解密程序;
采用解密算法對所述第一解密數(shù)據(jù)進行解密,獲得所述原始數(shù)據(jù)。
根據(jù)本發(fā)明實施例二公開的技術(shù)方案,獲取密文;對所述密文進行讀取分析,獲得二進制編碼的相關(guān)信息、二進制編碼和加密數(shù)據(jù);通過所述解密程序?qū)λ黾用軘?shù)據(jù)進行解密,獲得原始數(shù)據(jù)。在數(shù)據(jù)解密過程中,通過對所述二進制編碼進行解碼還原數(shù)據(jù),保護了數(shù)據(jù)的安全性。
實施例三
與本發(fā)明實施例一公開的數(shù)據(jù)加密方法相對應(yīng),本發(fā)明的實施例三還提供了一種數(shù)據(jù)加密裝置,參見圖3,該裝置包括:
第一加密模塊10,用于獲取原始數(shù)據(jù),對所述原始數(shù)據(jù)進行加密,生成加密數(shù)據(jù)和密鑰;
轉(zhuǎn)換模塊11,用于獲取與所述密鑰對應(yīng)的解密程序,將所述解密程序轉(zhuǎn)化為二進制編碼,計算所述二進制編碼的相關(guān)信息,其中,所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
第二加密模塊12,用于將所述二進制編碼的相關(guān)信息和所述二進制編碼按照預(yù)設(shè)的格式拼接到所述加密數(shù)據(jù)中,得到密文。。
相應(yīng)的,所述第一加密模塊10包括:
獲取單元101,用于獲取原始數(shù)據(jù);
第一加密單元102,用于采用第一加密程序?qū)λ鲈紨?shù)據(jù)進行加密,獲得第一加密數(shù)據(jù);
第二加密單元103,用于采用第二加密程序?qū)λ龅谝患用軘?shù)據(jù)進行加密,生成加密數(shù)據(jù),其中,所述第二加密程序為預(yù)設(shè)存儲的加密程序。
對應(yīng)的,所述第二加密模塊12包括:
連接單元121,用于將所述標識特征碼、所述二進制編碼長度、所述二進制編碼的偏移量、所述二進制編碼和所述密鑰依次連接,獲得第一數(shù)據(jù)鏈;
確定單元122,用于根據(jù)所述二進制編碼的偏移量,確定所述二進制編碼的插入位置;
插入單元123,用于根據(jù)所述插入位置,將所述二進制編碼插入到所述加密數(shù)據(jù)中,得到第二數(shù)據(jù)鏈;
密文獲取單元124,用于在所述第一數(shù)據(jù)鏈后拼接所述第二數(shù)據(jù)鏈,得到密文。
在本發(fā)明的實施例三中,通過第一加密模塊對原始數(shù)據(jù)進行了普通加密,得到了加密數(shù)據(jù)和密鑰;在轉(zhuǎn)換模塊中,獲取與所述密鑰對應(yīng)的解密程序,將所述解密程序轉(zhuǎn)換為二進制編碼,計算所述二進制編碼的相關(guān)信息;最后在第二加密模塊中,將所述二進制編碼的相關(guān)信息和所述二進制編碼按照預(yù)設(shè)的格式拼接到所述加密數(shù)據(jù)中,得到密文。通過將二進制編碼加入到加密數(shù)據(jù)中,即使黑客入侵得到了加密數(shù)據(jù)沒有任何關(guān)于該二進制編碼的解密信息,也無法破解出真正的原始數(shù)據(jù),最終實現(xiàn)了防止黑客對數(shù)據(jù)的破解,進而保護數(shù)據(jù)安全性的目的。
實施例四
與本發(fā)明實施例二提供的一種數(shù)據(jù)解密方法相對應(yīng),本發(fā)明實施例四還提供了一種數(shù)據(jù)解密裝置,參見圖4,該裝置包括:
獲取模塊20,用于獲取密文,其中,所述密文包含標識特征碼、二進制編碼的相關(guān)信息、二進制編碼和加密數(shù)據(jù),所述二進制編碼的相關(guān)信息包含二進制編碼長度、標識特征碼和二進制編碼的偏移量;
分析模塊21,用于對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,則根據(jù)所述二進制編碼長度和二進制編碼的偏移量獲取所述二進制編碼;
轉(zhuǎn)換模塊22,用于將所述二進制編碼轉(zhuǎn)換為解密程序;
解密模塊23,用于通過所述解密程序?qū)λ雒芪倪M行解密,獲得原始數(shù)據(jù)。
具體的,所述分析模塊21包括:
分析單元211,用于對所述密文進行讀取分析,根據(jù)所述標識特征碼判斷所述密文的是否包含預(yù)設(shè)的二進制編碼,如果是,根據(jù)所述二進制編碼的偏移量確定所述二進制編碼在加密數(shù)據(jù)中的插入位置;
提取單元212,用于根據(jù)所述二進制編碼的長度確定所述二進制編碼,并在所述二進制編碼在加密數(shù)據(jù)中的插入位置處提取出所述二進制編碼。
對應(yīng)的,所述解密模塊23包括:
第一解密單元231,用于采用所述解密程序?qū)λ雒芪倪M行解密,獲得所述第一解密數(shù)據(jù),其中,所述解密程序為與預(yù)設(shè)的加密程序?qū)?yīng)的解密程序;
第二解密單元232,用于采用解密算法對所述第一解密數(shù)據(jù)進行解密,獲得所述原始數(shù)據(jù)。
根據(jù)本發(fā)明實施例四公開的技術(shù)方案,通過獲取模塊得到了密文;在分析模塊中對所述密文進行讀取分析,判斷所述密文是否為通過二進制編碼進行加密的數(shù)據(jù);如果是,則獲得二進制編碼,并在轉(zhuǎn)換模塊中將所述二進制編碼轉(zhuǎn)換為解密程序;最后通過解密模塊得到原始數(shù)據(jù)。在數(shù)據(jù)解密過程中,通過對所述二進制編碼進行解碼還原數(shù)據(jù),保護了數(shù)據(jù)的安全性。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。