亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)的加解密方法、裝置及電子設(shè)備與流程

文檔序號(hào):11479679閱讀:342來(lái)源:國(guó)知局
一種數(shù)據(jù)的加解密方法、裝置及電子設(shè)備與流程

本發(fā)明涉及信息處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)的加解密方法、裝置及電子設(shè)備。



背景技術(shù):

目前,隨著網(wǎng)絡(luò)通信技術(shù)的進(jìn)步和寬帶網(wǎng)絡(luò)的提速,信息安全已經(jīng)越來(lái)越來(lái)重要,特別是一些重要數(shù)據(jù),例如程序代碼、用戶的密碼、程序中使用的資源文件等。通常都需要對(duì)上述重要數(shù)據(jù)進(jìn)行加密保護(hù)。

現(xiàn)有技術(shù)中,一般采用加解密算法來(lái)對(duì)應(yīng)用程序中的數(shù)據(jù)進(jìn)行加密或解密,當(dāng)需要使用應(yīng)用程序時(shí),上述加解密算法對(duì)應(yīng)的代碼則會(huì)與應(yīng)用程序代碼一起編譯形成最終的可執(zhí)行文件。

然而,申請(qǐng)人發(fā)現(xiàn),由于加解密算法與應(yīng)用程序代碼一起編譯形成最終的可執(zhí)行文件,這樣通過(guò)反編譯應(yīng)用程序代碼則可以破解出加解密算法。

可見,現(xiàn)有技術(shù)中,由于加解密算法容易被破解,存在安全性較低的技術(shù)問(wèn)題。



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

本發(fā)明提供一種數(shù)據(jù)的加解密方法、裝置及電子設(shè)備,用以解決現(xiàn)有技術(shù)中由于加解密算法容易被破解,存在的安全性較低的技術(shù)問(wèn)題。

第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)的加解密方法,所述方法包括:

預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;

在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼;

利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。

本申請(qǐng)?zhí)峁┑臄?shù)據(jù)的加解密方法,在所述預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理之前,所述方法還包括:

將所述原始加解密代碼轉(zhuǎn)換成與所述原始加解密代碼對(duì)應(yīng)的匯編代碼;

所述預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,包括:

對(duì)所述匯編代碼進(jìn)行加密處理,以對(duì)所述原始加解密代碼進(jìn)行加密。

本申請(qǐng)?zhí)峁┑臄?shù)據(jù)的加解密方法,所述將所述原始加解密代碼轉(zhuǎn)換成與所述原始加解密代碼對(duì)應(yīng)的匯編代碼,包括:

編譯所述原始加解密代碼,獲得包含所述匯編代碼的可執(zhí)行文件;

從所述可執(zhí)行文件中獲取所述匯編代碼。

本申請(qǐng)?zhí)峁┑臄?shù)據(jù)的加解密方法,所述對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼,包括:

為所述加密處理后的原始加解密代碼分配一段內(nèi)存空間;

將所述加密處理后的原始加解密代碼加載至所述內(nèi)存空間;

基于預(yù)設(shè)的解密方式在所述內(nèi)存空間中對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼。

本申請(qǐng)?zhí)峁┑臄?shù)據(jù)的加解密方法,在所述利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密之后,還包括:

清除所述內(nèi)存空間中的所述原始加解密代碼;

釋放所述內(nèi)存空間。

基于與第一方面相同的發(fā)明構(gòu)思,本發(fā)明第二方面還提供了一種數(shù)據(jù)的加解密裝置,所述裝置包括:

第一預(yù)處理模塊,用于預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;

第二預(yù)處理模塊,用于在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述加密后處理后的原始加解密代碼進(jìn)行解密,獲得原始加解密代碼;

加解密模塊,用于利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。

在本發(fā)明提供的數(shù)據(jù)加解密裝置中,所述裝置還包括轉(zhuǎn)換模塊,用于將所述原始加解密代碼轉(zhuǎn)換成與所述原始加解密代碼對(duì)應(yīng)的匯編代碼

第一預(yù)處理模塊用于:對(duì)所述匯編代碼進(jìn)行加密處理,以對(duì)所述原始加解密代碼進(jìn)行加密。

在本發(fā)明提供的數(shù)據(jù)加解密裝置中,所述轉(zhuǎn)換模塊還用于:

編譯所述原始加解密代碼,獲得包含所述匯編代碼的可執(zhí)行文件;

從所述可執(zhí)行文件中獲取所述匯編代碼。

在本發(fā)明提供的數(shù)據(jù)加解密裝置中,所述第二預(yù)處理模塊用于:

為所述加密處理后的原始加解密代碼分配一段內(nèi)存空間;

將所述加密處理后的原始加解密代碼加載至所述內(nèi)存空間;

基于預(yù)設(shè)的解密方式在所述內(nèi)存空間中對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼。

在本發(fā)明提供的數(shù)據(jù)加解密裝置中,所述裝置還包括處理模塊,所述處理模塊用于:

清除所述內(nèi)存空間中的所述原始加解密代碼;

釋放所述內(nèi)存空間。

基于與第一方面相同的發(fā)明構(gòu)思,本發(fā)明第三方面還提供了一種數(shù)據(jù)的加解密電子設(shè)備,所述電子設(shè)備包括:存儲(chǔ)器,處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其中,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)可以實(shí)現(xiàn)數(shù)據(jù)的加解密方法。

本發(fā)明實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):

本發(fā)明實(shí)施例提供的數(shù)據(jù)的加解密方法,預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;然后在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述進(jìn)行加密處理的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼;再利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。通過(guò)預(yù)先對(duì)所述原始加解密代碼進(jìn)行加密處理,使得原始加解密代碼處于加密狀態(tài),在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),才對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密處理,進(jìn)而利用解密出的所述原始加解密代碼對(duì)所述數(shù)據(jù)進(jìn)行加解密處理。那么,相較于現(xiàn)有技術(shù),由于本發(fā)明實(shí)施例中的原始加解密代碼被加密,增加了破解出原始加解密代碼的難度,由此解決了現(xiàn)有技術(shù)中由于加解密算法容易被破解,存在安全性較低的技術(shù)問(wèn)題,實(shí)現(xiàn)了提高數(shù)據(jù)加解密的安全性的技術(shù)效果。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例中一種數(shù)據(jù)的加解密方法的流程圖;

圖2為本發(fā)明實(shí)施例中一種數(shù)據(jù)的加解密裝置的結(jié)構(gòu)示意圖;

圖3為本發(fā)明實(shí)施例中一種數(shù)據(jù)的加解密電子設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

本申請(qǐng)實(shí)施例通過(guò)提供一種數(shù)據(jù)的加解密方法、裝置及電子設(shè)備,用以解決現(xiàn)有技術(shù)中由于加解密算法容易被破解,存在安全性較低的技術(shù)問(wèn)題。

本申請(qǐng)實(shí)施例中的技術(shù)方案,總體思路如下:

一種數(shù)據(jù)的加解密方法,所述方法包括:預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼;利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。

在上述方法中,通過(guò)預(yù)先對(duì)所述原始加解密代碼進(jìn)行加密處理,使得原始加解密代碼處于加密狀態(tài),在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),才對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密處理,進(jìn)而利用解密出的所述原始加解密代碼對(duì)所述數(shù)據(jù)進(jìn)行加解密處理。那么,相較于現(xiàn)有技術(shù),由于本發(fā)明實(shí)施例中的原始加解密代碼被加密,增加了破解出原始加解密代碼的難度,由此解決了現(xiàn)有技術(shù)中由于加解密算法容易被破解,存在安全性較低的技術(shù)問(wèn)題,實(shí)現(xiàn)了提高數(shù)據(jù)加解密的安全性的技術(shù)效果。

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一

本實(shí)施例提供了一種數(shù)據(jù)的加解密方法,請(qǐng)參考圖1,所述方法包括:

步驟s101:預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;

步驟s102:在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼;

步驟s103:利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。

在本申請(qǐng)實(shí)施例中,原始加解密代碼是用于對(duì)數(shù)據(jù)進(jìn)行加解密的代碼。原始加解密代碼可以有一種,進(jìn)而按照相同的加解密方法對(duì)所有數(shù)據(jù)進(jìn)行加解密。或者,原始加解密算法也可以為多種,進(jìn)而按照不同的加解密方法對(duì)不同的數(shù)據(jù)進(jìn)行加解密。

下面,結(jié)合圖1,對(duì)本申請(qǐng)?zhí)峁┑臄?shù)據(jù)的加解密方法進(jìn)行詳細(xì)描述:

首先,執(zhí)行步驟s101,預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼。

在具體的實(shí)施過(guò)程中,可以采用多種方式對(duì)原始加解密代碼進(jìn)行加密處理,下面以兩種方式為例予以介紹:

第一種,采用加密算法直接對(duì)原始加解密代碼進(jìn)行加密處理。加密算法例如可以采用tea(微型加密算法,tinyencryptionalgorithm)或des(數(shù)據(jù)加密標(biāo)識(shí),dataencryptionstandard)等。經(jīng)過(guò)上述加密處理,就可以獲得加密處理后的原始加解密代碼。加密處理后的原始加解密代碼與原始加解密代碼不同,故而不易被識(shí)別出,更加不容易被破解,從而隱藏了原始加解密代碼,使得原始加解密代碼處于保密的狀態(tài)。

第二種,先將原始加解密代碼轉(zhuǎn)換成隱藏的數(shù)據(jù),然后再對(duì)該隱藏的數(shù)據(jù)進(jìn)行加密處理。該隱藏的數(shù)據(jù)在形式上與步驟s103中的數(shù)據(jù)類似,為二進(jìn)制代碼,是不能被反編譯的數(shù)據(jù)。因而原始加解密代碼被隱藏在同樣為二進(jìn)制代碼的數(shù)據(jù)中,不容易被識(shí)別和破解,從而達(dá)到隱藏原始加解密代碼的目的。并且,對(duì)隱藏的數(shù)據(jù)還進(jìn)行加密處理,更進(jìn)一步增加了破解難度,提高了安全性。

進(jìn)一步,在通過(guò)加密處理后,獲得的加密處理后的原始加解密代碼為一份數(shù)據(jù)文件,為了實(shí)現(xiàn)對(duì)加密處理后的原始加解密代碼的保存,可以定義相應(yīng)的變量來(lái)進(jìn)行存儲(chǔ)。舉例來(lái)說(shuō),如果是對(duì)應(yīng)用程序中的數(shù)據(jù)進(jìn)行加解密,可以在應(yīng)用程序中定義一個(gè)全局?jǐn)?shù)據(jù)存儲(chǔ)變量,用來(lái)存儲(chǔ)加密處理后的原始加解密代碼。

具體地,在所述預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理之前,所述方法還包括:

將所述原始加解密代碼轉(zhuǎn)換成與所述原始加解密代碼對(duì)應(yīng)的匯編代碼;

所述預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,包括:

對(duì)所述匯編代碼進(jìn)行加密處理,以對(duì)所述原始加解密代碼進(jìn)行加密。

在本發(fā)明實(shí)施例中,可以將原始加解密代碼進(jìn)行單獨(dú)進(jìn)行編譯,從而轉(zhuǎn)換成原始加解密代碼的匯編代碼。然后,在利用上述介紹過(guò)的任意一種加密算法對(duì)匯編代碼進(jìn)行加密處理,這樣就可以實(shí)現(xiàn)對(duì)原始加解密代碼的加密。

更為具體地,所述將所述原始加解密代碼轉(zhuǎn)換成與所述原始加解密代碼對(duì)應(yīng)的匯編代碼,包括:

編譯所述原始加解密代碼,獲得包含所述匯編代碼的可執(zhí)行文件;

從所述可執(zhí)行文件中獲取所述匯編代碼。

在具體的實(shí)施過(guò)程中,可以利用編譯器來(lái)對(duì)原始加解密代碼進(jìn)行編譯,編譯后可以得到可執(zhí)行文件??蓤?zhí)行文件中包含有原始加解密代碼的匯編代碼,因此,從編譯出來(lái)的可執(zhí)行文件中拷貝出與加解密代碼相對(duì)應(yīng)的代碼,就獲得了加解密代碼的匯編代碼,從而實(shí)現(xiàn)原始加解密代碼到對(duì)應(yīng)的匯編代碼的轉(zhuǎn)換。

接下來(lái)執(zhí)行步驟s102:在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼。

在本發(fā)明實(shí)施例中,由于原始加解密代碼之前進(jìn)行了加密處理,不能直接使用,在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),需要對(duì)加密處理后的原始加解密代碼進(jìn)行解密。在進(jìn)行原始加解密代碼的解密時(shí),根據(jù)之前對(duì)原始加解密代碼的加密處理方法進(jìn)行相對(duì)應(yīng)的解密,這樣就可以獲得原始加解密代碼。

具體地,所述對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼,包括:

為所述加密處理后的原始加解密代碼分配一段內(nèi)存空間;

將所述加密處理后的原始加解密代碼加載至所述內(nèi)存空間;

基于預(yù)設(shè)的解密方式在所述內(nèi)存空間中對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼。

在本發(fā)明實(shí)施例中,在對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),需要首先獲得原始加解密代碼。而為獲得原始加解密代碼,首先需要對(duì)加密處理后的原始加解密代碼進(jìn)行解密。在對(duì)加密處理后的原始加解密代碼解密時(shí),首先分配一內(nèi)存空間,然后將加密處理后的原始加解密代碼加載至所述內(nèi)存空間,然后在內(nèi)存空間中利用與加密處理時(shí)所應(yīng)用的加密算法對(duì)應(yīng)的解密算法進(jìn)行相應(yīng)的解密操作。

相對(duì)于現(xiàn)有技術(shù)而言,在不需要使用原始加解密代碼的時(shí)候,原始加解密代碼以保密狀態(tài)存在,只有在需要使用時(shí)才被加載并曝光于動(dòng)態(tài)分配的內(nèi)存空間中,這樣降低了加解密代碼的破解風(fēng)險(xiǎn),進(jìn)一步提高了加解密代碼的安全性。

上述分配一段內(nèi)存空間可以通過(guò)調(diào)用windows提供的api(applicationprogramminginterface)函數(shù)virtualalloc來(lái)實(shí)現(xiàn),函數(shù)virtualalloc的形式具體如下:

lpvoidvirtualalloc{

lpvoidlpaddress,//要分配的內(nèi)存空間的地址

dworddwsize,//要分配的內(nèi)存空間的大小

dwordflallocationtype,//要分配的內(nèi)存空間的類型

dwordflprotect//};//要分配的內(nèi)存空間存的初始保護(hù)屬性

其中,參數(shù)lpaddress表示要分配的內(nèi)存空間的地址,當(dāng)lpaddress為0是時(shí)則表示由系統(tǒng)分配內(nèi)存空間。參數(shù)dwsize表示分配的內(nèi)存空間的大小,可根據(jù)需要加載的加密后的加解密代碼的數(shù)據(jù)大小進(jìn)行設(shè)置。參數(shù)flallocationtype表示內(nèi)存空間的類型,可以為mem_commit,mem_reserve或mem_top_down,其中mem_commit表示為指定地址空間提交物理內(nèi)存,mem_reserve表示保留指定地址空間,不分配物理內(nèi)存;mem_top_down表示在盡可能高的地址分配內(nèi)存。參數(shù)flprotect表示需要內(nèi)存空間的初始保護(hù)屬性,例如可讀、可寫、可讀寫。

在本發(fā)明實(shí)施例中,前述步驟s101中介紹了兩種不同的對(duì)加解密代碼的加密處理方式,來(lái)獲得加密后的加解密代碼,因此,在對(duì)加密處理后的加解密代碼進(jìn)行解密時(shí),可以采取相對(duì)應(yīng)的解密方法,

對(duì)應(yīng)于上述第一種加密處理方式,將加密處理后的原始加解密代碼加載到分配的內(nèi)存空間中,直接采用與加密算法相對(duì)應(yīng)的解密算法,對(duì)加密處理后的原始加解密代碼進(jìn)行解密,從而獲得原始加解密代碼。

對(duì)應(yīng)于上述第二種加密處理方式,將加密處理后的原始加解密代碼加載到分配的內(nèi)存空間中,首先通過(guò)與與加密算法相對(duì)應(yīng)的解密算法解密出隱藏的數(shù)據(jù),然后利用與將原始加解密代碼轉(zhuǎn)換成匯編代碼相反的方法將匯編代碼轉(zhuǎn)換成原始加解密代碼。

然后執(zhí)行步驟s103:利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。

在具體的實(shí)施過(guò)程中,需要加解密的數(shù)據(jù)可以是用戶的密碼,用戶與服務(wù)器的通信協(xié)議等。在獲得原始加解密代碼后,就可以運(yùn)行原始加解密代碼,進(jìn)而對(duì)數(shù)據(jù)進(jìn)行加解密了。由于本發(fā)明實(shí)施例中的原始加解密代碼被加密,增加了破解出原始加解密代碼的難度,由此解決了現(xiàn)有技術(shù)中由于加解密算法容易被破解,存在安全性較低的技術(shù)問(wèn)題,實(shí)現(xiàn)了提高數(shù)據(jù)加解密的安全性的技術(shù)效果。

本發(fā)明實(shí)施例提供的一種數(shù)據(jù)的加解密方法,在所述利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密之后,還包括:

清除所述內(nèi)存空間中的所述原始加解密代碼;

釋放所述內(nèi)存空間。

在具體的實(shí)施過(guò)程中,清除內(nèi)存空間中的原始加解密代碼可以通過(guò)以下幾種方法來(lái)實(shí)現(xiàn):

第一種,通過(guò)將分配內(nèi)存空間函數(shù)的相關(guān)參數(shù)賦值為0。例如將分配的內(nèi)存空間中的數(shù)據(jù)賦值為0或者重新將分配的內(nèi)存空間的大小賦值為0等。

當(dāng)對(duì)數(shù)據(jù)加解密完成后,需要對(duì)使用到的加解密代碼進(jìn)行清除以不在內(nèi)存中留下加解密代碼。

第二種,可以通過(guò)調(diào)用清除內(nèi)存空間內(nèi)容的函數(shù)來(lái)清除原始加解密代碼。舉例來(lái)說(shuō),利用memset(addr,0,size)函數(shù)來(lái)清除內(nèi)存空間中的所述原始加解密代碼。函數(shù)memset的作用是在一段內(nèi)存空間中填充某個(gè)給定的值,它是對(duì)較大的結(jié)構(gòu)體或數(shù)組進(jìn)行清零操作的一種方法。

上述函數(shù)memset中,第一個(gè)參數(shù)addr是指分配的內(nèi)存空間的地址,第二參數(shù)0則表示將addr指示的內(nèi)存空間填入的信息為0,第三個(gè)參數(shù)size則表示addr指示的內(nèi)存空間的大小。在清除內(nèi)存空間中的原始加解密代碼時(shí),將memset函數(shù)的第一個(gè)參數(shù)賦值為內(nèi)存空間的地址,第三個(gè)參數(shù)賦值為內(nèi)存空間的大小,然后運(yùn)行memset函數(shù)就清除了內(nèi)存空間中的原始加解密代碼。

清除內(nèi)存空間中的原始加解密代碼之后,本發(fā)明實(shí)施例還進(jìn)一步釋放所述內(nèi)存空間。

在具體的實(shí)施過(guò)程中,可以通過(guò)調(diào)用windows的api函數(shù)virtualfree來(lái)釋放所述內(nèi)存空間。

virtualfree的形式具體如下所述:

其中,參數(shù)lpaddress表示要釋放的內(nèi)存空間的地址。

參數(shù)dwsize表示要釋放的內(nèi)存空間的大小。

參數(shù)dwfreetype表示要釋放的內(nèi)存空間的類型。

釋放分配的內(nèi)存空間的函數(shù)virtualfree與分配內(nèi)存函數(shù)virtualalloc相對(duì)應(yīng),可以對(duì)virtualalloc函數(shù)分配的內(nèi)存空間中的相關(guān)參數(shù)進(jìn)行賦值,來(lái)實(shí)現(xiàn)內(nèi)存空間的釋放。即將virtualfree中的lpaddress賦值成virtualalloc中的內(nèi)存空間地址,參數(shù)dwsize賦值成virtualalloc中的內(nèi)存空間大小,參數(shù)dwfreetype賦值成virtualalloc中的內(nèi)存空間的類型。這樣當(dāng)數(shù)據(jù)加解密完成后,就可以將分配的內(nèi)存空間清空,并釋放內(nèi)存空間,從而不留下原始加解密代碼的痕跡,進(jìn)一步縮短原始加解密代碼曝光時(shí)間,從而增加原始加解密代碼被破解的難度,進(jìn)一步提高加解密數(shù)據(jù)的安全性。

實(shí)施例二

基于與實(shí)施例一同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例二提供了一種數(shù)據(jù)的加解密裝置,請(qǐng)參見圖2,所述裝置包括:

第一預(yù)處理模塊201,用于預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;

第二預(yù)處理模塊202,用于在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述加密后處理后的原始加解密代碼進(jìn)行解密,獲得原始加解密代碼;

加解密模塊203,用于利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。

在本實(shí)施例提供的數(shù)據(jù)的加解密裝置中,所述裝置還包括轉(zhuǎn)換模塊,用于將所述原始加解密代碼轉(zhuǎn)換成與所述原始加解密代碼對(duì)應(yīng)的匯編代碼;

第一預(yù)處理模塊201還用于:對(duì)所述匯編代碼進(jìn)行加密處理,以對(duì)所述原始加解密代碼進(jìn)行加密。

在本實(shí)施例提供的數(shù)據(jù)的加解密裝置中,所述轉(zhuǎn)換模塊還用于:

編譯所述原始加解密代碼,獲得包含所述匯編代碼的可執(zhí)行文件;

從所述可執(zhí)行文件中獲取所述匯編代碼。

在本實(shí)施例提供的數(shù)據(jù)的加解密裝置中,所述第二預(yù)處理模塊用于:

為所述加密處理后的原始加解密代碼分配一段內(nèi)存空間;

將所述加密處理后的原始加解密代碼加載至所述內(nèi)存空間;

基于預(yù)設(shè)的解密方式在所述內(nèi)存空間中對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼。

在本實(shí)施例提供的數(shù)據(jù)的加解密裝置中,所述裝置還包括處理模塊,所述處理模塊用于:

清除所述內(nèi)存空間中的所述原始加解密代碼;

釋放所述內(nèi)存空間。

實(shí)施例一所述的數(shù)據(jù)的加解密方法的各種變化方式和具體實(shí)例同樣適用于實(shí)施例二中的數(shù)據(jù)的加解密裝置,通過(guò)前述對(duì)數(shù)據(jù)的加解密方法的詳細(xì)描述,本領(lǐng)域技術(shù)人員可以清楚的知道本實(shí)施例中數(shù)據(jù)的加解密裝置,所以為了說(shuō)明書的簡(jiǎn)潔,在此不再詳述。

實(shí)施例三

基于與實(shí)施例一同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例三提供了一種數(shù)據(jù)加解密的電子設(shè)備,請(qǐng)參見圖3,所述電子設(shè)備包括:

存儲(chǔ)器301,處理器302及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序303,其中,所述處理器302執(zhí)行所述計(jì)算機(jī)程序303時(shí)可以實(shí)現(xiàn)權(quán)利要求1至5任一所述的方法。

需要說(shuō)明的是,本申請(qǐng)涉及的電子設(shè)備包括但不限于是:移動(dòng)終端(手機(jī)、智能手機(jī)、pad、筆記本電腦等等)、固定終端(計(jì)算機(jī))。

為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。存儲(chǔ)器301可用于存儲(chǔ)計(jì)算機(jī)程序303,上述計(jì)算機(jī)程序包括軟件程序、模塊和數(shù)據(jù),處理器302通過(guò)運(yùn)行執(zhí)行存儲(chǔ)在存儲(chǔ)器301的計(jì)算機(jī)程序303,從而執(zhí)行電子設(shè)備的各種功能應(yīng)用以及數(shù)據(jù)處理。

在具體的實(shí)施過(guò)程中,存儲(chǔ)器301可用于存儲(chǔ)軟件程序以及模塊,處理器302通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器301的軟件程序以及模塊,從而執(zhí)行電子設(shè)備的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器301可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(例如游戲類應(yīng)用程序、聊天類應(yīng)用程序)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)電子設(shè)備的使用所創(chuàng)建的數(shù)據(jù)(游戲配置數(shù)據(jù)、音頻數(shù)據(jù))等。此外,存儲(chǔ)器301可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。處理器302是電子設(shè)備的控制中心,利用各種接口和線路連接整個(gè)電子設(shè)備的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器301內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器301內(nèi)的數(shù)據(jù),執(zhí)行電子設(shè)備的各種功能和處理數(shù)據(jù),從而對(duì)電子設(shè)備進(jìn)行整體監(jiān)控??蛇x的,處理器302可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器302可集成應(yīng)用處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等。

本發(fā)明實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):

本發(fā)明實(shí)施例提供的數(shù)據(jù)的加解密方法,預(yù)先對(duì)原始加解密代碼進(jìn)行加密處理,獲得加密處理后的原始加解密代碼;然后在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),對(duì)所述進(jìn)行加密處理的原始加解密代碼進(jìn)行解密,獲得所述原始加解密代碼;再利用所述原始加解密代碼,對(duì)所述數(shù)據(jù)進(jìn)行加解密。通過(guò)預(yù)先對(duì)所述原始加解密代碼進(jìn)行加密處理,使得原始加解密代碼處于加密狀態(tài),在需要對(duì)數(shù)據(jù)進(jìn)行加解密時(shí),才對(duì)所述加密處理后的原始加解密代碼進(jìn)行解密處理,進(jìn)而利用解密出的所述原始加解密代碼對(duì)所述數(shù)據(jù)進(jìn)行加解密處理。那么,相較于現(xiàn)有技術(shù),由于本發(fā)明實(shí)施例中的原始加解密代碼被加密,增加了破解出原始加解密代碼的難度,由此解決了現(xiàn)有技術(shù)中由于加解密算法容易被破解,存在安全性較低的技術(shù)問(wèn)題,實(shí)現(xiàn)了提高數(shù)據(jù)加解密的安全性的技術(shù)效果。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明實(shí)施例的精神和范圍。這樣,倘若本發(fā)明實(shí)施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1