數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及終端技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及裝置。
【背景技術(shù)】
[0002]目前,為了保證數(shù)據(jù)傳輸?shù)陌踩裕话銜υ紨?shù)據(jù)進(jìn)行加密,得到加密數(shù)據(jù)后再進(jìn)行傳輸。與此同時,隨著終端技術(shù)的飛速發(fā)展,操作系統(tǒng)的種類越來越多,常用的有Windows、Linux、Unix、Android、1s等等;為了滿足用戶各種各樣的需求,應(yīng)用程序(Applicat1n,App)的種類也越來越多。由于操作系統(tǒng)和App都呈現(xiàn)多樣化的發(fā)展,如何保證多操作系統(tǒng)多App之間的加密數(shù)據(jù)互通變得非常重要。
[0003]按照現(xiàn)有的數(shù)據(jù)加密方法,通常會預(yù)先設(shè)置固定密鑰,數(shù)據(jù)發(fā)送方App采用該固定密鑰對原始數(shù)據(jù)進(jìn)行加密,得到加密數(shù)據(jù)發(fā)送給數(shù)據(jù)接收方App。相應(yīng)地,數(shù)據(jù)接收方App接收到加密數(shù)據(jù)后,可以直接根據(jù)該固定密鑰對加密數(shù)據(jù)進(jìn)行解密,得到原始數(shù)據(jù),從而實現(xiàn)數(shù)據(jù)發(fā)送方App和數(shù)據(jù)接收方App之間的加密數(shù)據(jù)互通。
[0004]上述數(shù)據(jù)加密方法雖然可以保證加密數(shù)據(jù)的互通,但是,由于采用固定密鑰進(jìn)行加密,一旦該固定密鑰被破解,就會造成原始數(shù)據(jù)泄露,甚至原始數(shù)據(jù)可能遭到篡改,從而會降低數(shù)據(jù)的安全性、完整性和防篡改性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及裝置,用以解決現(xiàn)有技術(shù)中存在的數(shù)據(jù)的安全性、完整性和防篡改性降低的問題。
[0006]根據(jù)本發(fā)明實施例,提供一種數(shù)據(jù)加密方法,包括:
[0007]接收數(shù)據(jù)發(fā)送方應(yīng)用程序App發(fā)送的原始數(shù)據(jù)后,獲取所述原始數(shù)據(jù)對應(yīng)的加密密鑰、預(yù)先設(shè)置的與所述數(shù)據(jù)發(fā)送方App對應(yīng)的第一加密算法和第二加密算法;
[0008]使用所述第一加密算法和所述加密密鑰對所述原始數(shù)據(jù)進(jìn)行加密,生成所述原始數(shù)據(jù)對應(yīng)的加密數(shù)據(jù);
[0009]使用所述第二加密算法對所述加密密鑰進(jìn)行封裝,生成所述加密密鑰對應(yīng)的數(shù)字?目封;
[0010]將所述數(shù)字信封封裝到所述加密數(shù)據(jù)中發(fā)送給所述數(shù)據(jù)發(fā)送方App。
[0011]具體的,獲取所述原始數(shù)據(jù)對應(yīng)的加密密鑰,具體包括:
[0012]向密碼設(shè)備發(fā)送加密密鑰生成指令,用于指示所述密碼設(shè)備生成加密密鑰;
[0013]接收所述密碼設(shè)備發(fā)送的加密密鑰,作為所述原始數(shù)據(jù)對應(yīng)的加密密鑰。
[0014]具體的,使用所述第一加密算法和所述加密密鑰對所述原始數(shù)據(jù)進(jìn)行加密,生成所述原始數(shù)據(jù)對應(yīng)的加密數(shù)據(jù),具體包括:
[0015]向密碼設(shè)備發(fā)送攜帶所述第一加密算法、所述加密密鑰和所述原始數(shù)據(jù)的加密指令,用于指示所述密碼設(shè)備使用所述第一加密算法和所述加密密鑰對所述原始數(shù)據(jù)進(jìn)行加密,生成加密數(shù)據(jù);
[0016]接收所述密碼設(shè)備發(fā)送的加密數(shù)據(jù),作為所述原始數(shù)據(jù)對應(yīng)的加密數(shù)據(jù)。
[0017]可選的,接收數(shù)據(jù)發(fā)送方App發(fā)送的原始數(shù)據(jù)之前,還包括:
[0018]接收所述數(shù)據(jù)發(fā)送方App發(fā)送的登錄口令后,確認(rèn)所述登錄口令是否合法;
[0019]若所述登錄口令合法,向所述數(shù)據(jù)發(fā)送方App返回成功登錄信息,用于指示所述數(shù)據(jù)發(fā)送方App發(fā)送原始數(shù)據(jù)。
[0020]根據(jù)本發(fā)明實施例,還提供一種數(shù)據(jù)解密方法,包括:
[0021]接收數(shù)據(jù)接收方應(yīng)用程序App發(fā)送的加密數(shù)據(jù)后,獲取所述加密數(shù)據(jù)中封裝的數(shù)字信封、預(yù)先設(shè)置的與所述數(shù)據(jù)接收方App對應(yīng)的第一加密算法和第二加密算法;
[0022]使用所述第二加密算法對所述數(shù)字信封進(jìn)行解封裝,得到所述數(shù)字信封中封裝的加密密鑰;
[0023]使用所述第一加密算法和所述加密密鑰對所述加密數(shù)據(jù)進(jìn)行解密,得到所述加密數(shù)據(jù)對應(yīng)的原始數(shù)據(jù);
[0024]將所述原始數(shù)據(jù)發(fā)送給所述數(shù)據(jù)接收方App。
[0025]具體的,使用所述第一加密算法和所述加密密鑰對所述加密數(shù)據(jù)進(jìn)行解密,得到所述加密數(shù)據(jù)對應(yīng)的原始數(shù)據(jù),具體包括:
[0026]向密碼設(shè)備發(fā)送攜帶所述第一加密算法、所述加密密鑰和所述加密數(shù)據(jù)的解密指令,用于指示所述密碼設(shè)備使用所述第一加密算法和所述加密密鑰對所述解密數(shù)據(jù)進(jìn)行解密,得到原始數(shù)據(jù);
[0027]接收所述密碼設(shè)備發(fā)送的原始數(shù)據(jù),得到所述加密數(shù)據(jù)對應(yīng)的原始數(shù)據(jù)。
[0028]可選的,接收數(shù)據(jù)接收方App發(fā)送的加密數(shù)據(jù)之前,還包括:
[0029]接收到所述數(shù)據(jù)接收方App發(fā)送的登錄口令后,確認(rèn)所述登錄口令是否合法;
[0030]若所述登錄口令合法,向所述數(shù)據(jù)接收方App返回成功登錄信息,用于指示所述數(shù)據(jù)接收方App發(fā)送加密數(shù)據(jù)。
[0031]根據(jù)本發(fā)明實施例,還提供一種數(shù)據(jù)加密裝置,包括:
[0032]獲取單元,用于接收數(shù)據(jù)發(fā)送方應(yīng)用程序App發(fā)送的原始數(shù)據(jù)后,獲取所述原始數(shù)據(jù)對應(yīng)的加密密鑰、預(yù)先設(shè)置的與所述數(shù)據(jù)發(fā)送方App對應(yīng)的第一加密算法和第二加密算法;
[0033]加密單元,用于使用所述第一加密算法和所述加密密鑰對所述原始數(shù)據(jù)進(jìn)行加密,生成所述原始數(shù)據(jù)對應(yīng)的加密數(shù)據(jù);
[0034]封裝單元,用于使用所述第二加密算法對所述加密密鑰進(jìn)行封裝,生成所述加密密鑰對應(yīng)的數(shù)字信封;
[0035]發(fā)送單元,用于將所述數(shù)字信封封裝到所述加密數(shù)據(jù)中發(fā)送給所述數(shù)據(jù)發(fā)送方App0
[0036]根據(jù)本發(fā)明實施例,還提供一種數(shù)據(jù)解密裝置,包括:
[0037]接收單元,用于接收數(shù)據(jù)接收方應(yīng)用程序App發(fā)送的加密數(shù)據(jù)后,獲取所述加密數(shù)據(jù)中封裝的數(shù)字信封、預(yù)先設(shè)置的與所述數(shù)據(jù)接收方App對應(yīng)的第一加密算法和第二加密算法;
[0038]解封裝單元,用于使用所述第二加密算法對所述數(shù)字信封進(jìn)行解封裝,得到所述數(shù)字信封中封裝的加密密鑰;
[0039]解密單元,用于使用所述第一加密算法和所述加密密鑰對所述加密數(shù)據(jù)進(jìn)行解密,得到所述加密數(shù)據(jù)對應(yīng)的原始數(shù)據(jù);
[0040]發(fā)送單元,用于將所述原始數(shù)據(jù)發(fā)送給所述數(shù)據(jù)接收方App。
[0041]具體的,所述解密單元,具體用于:
[0042]向密碼設(shè)備發(fā)送攜帶所述第一加密算法、所述加密密鑰和所述加密數(shù)據(jù)的解密指令,用于指示所述密碼設(shè)備使用所述第一加密算法和所述加密密鑰對所述解密數(shù)據(jù)進(jìn)行解密,得到原始數(shù)據(jù);
[0043]接收所述密碼設(shè)備發(fā)送的原始數(shù)據(jù),得到所述加密數(shù)據(jù)對應(yīng)的原始數(shù)據(jù)。
[0044]本發(fā)明有益效果如下:
[0045]本發(fā)明實施例提供一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法及裝置,在對原始數(shù)據(jù)進(jìn)行加密時,接收數(shù)據(jù)發(fā)送方App發(fā)送的原始數(shù)據(jù)后,獲取與所述原始數(shù)據(jù)對應(yīng)的加密密鑰、預(yù)先設(shè)置的與所述數(shù)據(jù)發(fā)送方App對應(yīng)的第一加密算法和第二加密算法;使用所述第一加密算法和所述加密密鑰對所述原始數(shù)據(jù)進(jìn)行加密,生成所述原始數(shù)據(jù)對應(yīng)的加密數(shù)據(jù);使用所述第二加密算法所述加密密鑰進(jìn)行封裝,生成所述加密密鑰對應(yīng)的數(shù)字信封;將所述數(shù)字信封封裝到所述加密數(shù)據(jù)中發(fā)送給所述數(shù)據(jù)發(fā)送方App。該方案中,由于使用第一加密算法和加密密鑰對原始數(shù)據(jù)進(jìn)行加密得到原始數(shù)據(jù)對應(yīng)的加密數(shù)據(jù),然后使用第二加密算法對加密密鑰進(jìn)行封裝生成加密密鑰對應(yīng)的數(shù)字信封,并且將數(shù)字信封封裝到加密數(shù)據(jù)中發(fā)送給