數(shù)據(jù)的加解密方法及加解密裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)的加解密方法和一種數(shù)據(jù)的加解密裝置。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)的應(yīng)用中,經(jīng)常要傳輸一些大量用戶敏感數(shù)據(jù),這些數(shù)據(jù)若要安全的相互傳輸,特別是在高并發(fā)情況下,更要依靠高效可靠的加密技術(shù)。隨著應(yīng)用對(duì)高性能需求的增加,傳統(tǒng)的加密方案已經(jīng)不能滿足這些需求了,需要更高效可靠的加密技術(shù)去實(shí)現(xiàn)以上需求。
[0003]隨著互聯(lián)網(wǎng)的高速發(fā)展,軟件包產(chǎn)品的用戶也在快速增長(zhǎng),有幾十萬(wàn)上升到幾百萬(wàn)甚至千萬(wàn),軟件包產(chǎn)品的用戶都在向互聯(lián)網(wǎng)方向發(fā)展,這就要求軟件包產(chǎn)品的授權(quán)方式脫離傳統(tǒng)軟件的授權(quán)方式,傳統(tǒng)的授權(quán)方式都是獨(dú)立的沒(méi)有關(guān)聯(lián),且性能要求不高,現(xiàn)有的授權(quán)方式是互聯(lián)網(wǎng)方式,而且是在高并發(fā)情況下進(jìn)行授權(quán)。在相關(guān)技術(shù)的設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,由于高并發(fā)下的業(yè)務(wù)的復(fù)雜性、服務(wù)器的性能及代碼邏輯,目前該技術(shù)在萬(wàn)級(jí)并發(fā)下效率會(huì)出現(xiàn)轉(zhuǎn)折點(diǎn),加解密效率和成功率都會(huì)出現(xiàn)下降。
[0004]傳統(tǒng)軟件包產(chǎn)品的用戶數(shù)基本是固定,對(duì)用戶并發(fā)數(shù)的要求不高,而移動(dòng)互聯(lián)網(wǎng)產(chǎn)品端的用戶數(shù)是不斷增長(zhǎng)的,而且用戶的使用是不間斷的,隨時(shí)都有可能出現(xiàn)大量的用戶數(shù)據(jù),用戶數(shù)據(jù)的安全性至關(guān)重要,由于對(duì)用戶的敏感數(shù)據(jù)進(jìn)行加密處理,這樣用戶在訪問(wèn)的時(shí)候就會(huì)感覺(jué)慢了很多,特別是在高并發(fā)情況下,會(huì)出現(xiàn)用戶收到信息緩慢,甚至出現(xiàn)錯(cuò)誤的情況,嚴(yán)重影響用戶的使用體驗(yàn)。
[0005]因此,如何在確保用戶數(shù)據(jù)安全的同時(shí),提高對(duì)用戶數(shù)據(jù)的加解密效率和成功率成為亟待解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明正是基于上述技術(shù)問(wèn)題至少之一,提出了一種新的數(shù)據(jù)的加解密方案,能夠?qū)⒂糜趯?duì)數(shù)據(jù)加解密的加密對(duì)象和解密對(duì)象進(jìn)行預(yù)先存儲(chǔ),并在數(shù)據(jù)有加密需求或解密需求時(shí),直接提取加密對(duì)象或解密對(duì)象進(jìn)行加密或解密,避免了每次在加解密數(shù)據(jù)時(shí)都需實(shí)時(shí)創(chuàng)建加密對(duì)象和解密對(duì)象而使整個(gè)加解密過(guò)程耗時(shí)長(zhǎng)且成功率較低等問(wèn)題,使得在確保用戶數(shù)據(jù)安全的同時(shí),提高了對(duì)用戶數(shù)據(jù)的加解密效率和成功率,從而提升了用戶的使用體驗(yàn)。
[0007]有鑒于此,本發(fā)明提出了一種數(shù)據(jù)的加解密方法,包括:檢測(cè)獲取到的任一數(shù)據(jù)是否有加密需求或解密需求;在檢測(cè)到所述任一數(shù)據(jù)有加密需求時(shí),提取預(yù)存儲(chǔ)的加密對(duì)象,并根據(jù)提取出的所述加密對(duì)象對(duì)所述任一數(shù)據(jù)進(jìn)行加密;在檢測(cè)到所述任一數(shù)據(jù)有解密需求時(shí),提取預(yù)存儲(chǔ)的解密對(duì)象,并根據(jù)提取出的所述解密對(duì)象對(duì)所述任一數(shù)據(jù)進(jìn)行解密。
[0008]在該技術(shù)方案中,通過(guò)檢測(cè)獲取到的任一數(shù)據(jù)是否有加密需求或解密需求,并在檢測(cè)到任一數(shù)據(jù)有加密需求時(shí),提取預(yù)存儲(chǔ)的加密對(duì)象,并根據(jù)提取出的加密對(duì)象對(duì)任一數(shù)據(jù)進(jìn)行加密,以及在檢測(cè)到任一數(shù)據(jù)有解密需求時(shí),提取預(yù)存儲(chǔ)的解密對(duì)象,并根據(jù)提取出的解密對(duì)象對(duì)任一數(shù)據(jù)進(jìn)行解密,能夠?qū)⒂糜趯?duì)數(shù)據(jù)加解密的加密對(duì)象和解密對(duì)象進(jìn)行預(yù)先存儲(chǔ),并在數(shù)據(jù)有加密需求或解密需求時(shí),直接提取加密對(duì)象或解密對(duì)象進(jìn)行加密或解密,避免了每次在加解密數(shù)據(jù)時(shí)都需實(shí)時(shí)創(chuàng)建加密對(duì)象和解密對(duì)象而使整個(gè)加解密過(guò)程耗時(shí)長(zhǎng)且成功率較低等問(wèn)題,使得在確保用戶數(shù)據(jù)安全的同時(shí),提高了對(duì)用戶數(shù)據(jù)的加解密效率和成功率,從而提升了用戶的使用體驗(yàn)。此外,由于不用實(shí)時(shí)創(chuàng)建加密對(duì)象和解密對(duì)象,大大節(jié)省了系統(tǒng)資源,使得系統(tǒng)擁有更多的空閑資源同時(shí)處理更多的數(shù)據(jù),從而提高了系統(tǒng)在高并發(fā)情況下的處理能力。
[0009]在上述技術(shù)方案中,優(yōu)選地,在檢測(cè)獲取到的任一數(shù)據(jù)是否有加密需求或解密需求的步驟之前,還包括:獲取對(duì)所述任一數(shù)據(jù)進(jìn)行加密處理時(shí)所使用的加密密鑰,和/或?qū)λ鋈我粩?shù)據(jù)進(jìn)行解密處理時(shí)所使用的解密密鑰;根據(jù)所述加密密鑰生成所述加密對(duì)象,和/或根據(jù)所述解密密鑰生成所述解密對(duì)象;對(duì)所述加密對(duì)象和/或所述解密對(duì)象進(jìn)行初始化處理;并存儲(chǔ)經(jīng)初始化處理后的所述加密對(duì)象和/或經(jīng)初始化處理后的所述解密對(duì)象。
[0010]在該技術(shù)方案中,通過(guò)獲取對(duì)任一數(shù)據(jù)進(jìn)行加密處理時(shí)所使用的加密密鑰,根據(jù)加密密鑰生成加密對(duì)象,對(duì)加密對(duì)象進(jìn)行初始化處理,并存儲(chǔ)經(jīng)初始化處理后的加密對(duì)象,使得后續(xù)當(dāng)數(shù)據(jù)有加密需求時(shí),可以直接提取預(yù)存儲(chǔ)的加密對(duì)象對(duì)數(shù)據(jù)進(jìn)行加密,大大提高了加密效率,同時(shí)避免因?qū)崟r(shí)創(chuàng)建加密對(duì)像而使加密出錯(cuò),提高了對(duì)數(shù)據(jù)加密的成功率;并通過(guò)獲取對(duì)任一數(shù)據(jù)進(jìn)行解密處理時(shí)所使用的加密密鑰,根據(jù)解密密鑰生成解密對(duì)象,對(duì)解密對(duì)象進(jìn)行初始化處理,并存儲(chǔ)經(jīng)初始化處理后的解密對(duì)象,使得后續(xù)當(dāng)數(shù)據(jù)有解密需求時(shí),可以直接提取預(yù)存儲(chǔ)的解密對(duì)象對(duì)數(shù)據(jù)進(jìn)行解密,大大提高了解密效率,同時(shí)避免因?qū)崟r(shí)創(chuàng)建解密對(duì)像而使解密出錯(cuò),提高了對(duì)數(shù)據(jù)解密的成功率。其中,加密對(duì)象和解密對(duì)象分別包括PKCS8EncodedKeySpec對(duì)象、KeyFactory對(duì)象、Key對(duì)象及Cipher對(duì)象。
[0011]在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,將經(jīng)初始化處理后的所述加密對(duì)象和/或經(jīng)初始化處理后的所述解密對(duì)象存儲(chǔ)至緩存中。
[0012]在該技術(shù)方案中,優(yōu)選地將經(jīng)初始化處理后的加密對(duì)象和/或初始化處理后的解密對(duì)象存儲(chǔ)至緩存中,由于在數(shù)據(jù)處理過(guò)程中,處理器一般都是先從緩存中來(lái)提取數(shù)據(jù)進(jìn)行相關(guān)處理,使得存儲(chǔ)在緩存中的數(shù)據(jù)的處理速度相對(duì)較快,提高了系統(tǒng)的處理能力,從而提高了對(duì)用戶的響應(yīng)速度,當(dāng)然,還可以根據(jù)實(shí)際的設(shè)計(jì)需求,將加密對(duì)象和/或解密對(duì)象存儲(chǔ)至系統(tǒng)的其他存儲(chǔ)區(qū)域,以備需要時(shí)隨時(shí)提取。
[0013]在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,還包括:提取預(yù)存儲(chǔ)的加密對(duì)象的步驟,具體包括:從所述緩存中提取出所述加密對(duì)象;并在對(duì)所述任一數(shù)據(jù)進(jìn)行加密后,將已提取出的所述加密對(duì)象重新存儲(chǔ)至所述緩存中。
[0014]在該技術(shù)方案中,在對(duì)任一數(shù)據(jù)進(jìn)行加密后,通過(guò)將已提取出的加密對(duì)象重新存儲(chǔ)至緩存中,為后續(xù)有加密需求的數(shù)據(jù)直接提取加密對(duì)象提供保障,當(dāng)然,還可以根據(jù)實(shí)際的設(shè)計(jì)需求,將加密對(duì)象存儲(chǔ)至系統(tǒng)的其他存儲(chǔ)區(qū)域,以備需要時(shí)隨時(shí)提取。
[0015]在上述任一項(xiàng)技術(shù)方案中,優(yōu)選地,提取預(yù)存儲(chǔ)的解密對(duì)象的步驟,具體包括:從所述緩存中提取出所述解密對(duì)象;并在對(duì)所述任一數(shù)據(jù)進(jìn)行解密后,將已提取出的所述解密對(duì)象重新存儲(chǔ)至所述緩存中。
[0016]在該技術(shù)方案中,在對(duì)任一數(shù)據(jù)進(jìn)行解密后,通過(guò)將已提取出的解密對(duì)象重新存儲(chǔ)至緩存中,為后續(xù)有解密需求的數(shù)據(jù)直接提取加密對(duì)象提供保障,當(dāng)然,還可以根據(jù)實(shí)際的設(shè)計(jì)需求,將解密對(duì)象存儲(chǔ)至系統(tǒng)的其他存儲(chǔ)區(qū)域,以備需要時(shí)隨時(shí)提取。
[0017]根據(jù)本發(fā)明的第二方面,還提出了一種數(shù)據(jù)的加解密裝置,包括:檢測(cè)單元,用于檢測(cè)獲取到的任一數(shù)據(jù)是否有加密需求或解密需求;加密單元,用于在所述檢測(cè)單元檢測(cè)到所述任一數(shù)據(jù)有加密需求時(shí),提取預(yù)存儲(chǔ)的加密對(duì)象,并根據(jù)提取出的所述加密對(duì)象對(duì)所述任一數(shù)據(jù)進(jìn)行加密;解密單元,用于在所述檢測(cè)單元檢測(cè)到所述任一數(shù)據(jù)有解密需求時(shí),提取預(yù)存儲(chǔ)的解密對(duì)象,并根據(jù)提取出的所述解密對(duì)象對(duì)所述任一數(shù)據(jù)進(jìn)行解密。
[0018]在該技術(shù)方案中,通過(guò)檢測(cè)獲取到的任一數(shù)據(jù)是否有加密需求或解密需求,并在檢測(cè)到任一數(shù)據(jù)有加密需求時(shí),提取預(yù)存儲(chǔ)的加密對(duì)象,并根據(jù)提取出的加密對(duì)象對(duì)任一數(shù)據(jù)進(jìn)行加密,以及在檢測(cè)到任一數(shù)據(jù)有解密需求時(shí),提取預(yù)存儲(chǔ)的解密對(duì)象,并根據(jù)提取出的解密對(duì)象對(duì)任一數(shù)據(jù)進(jìn)行解密,能夠?qū)⒂糜趯?duì)數(shù)據(jù)加解密的加密對(duì)象和解密對(duì)象進(jìn)行預(yù)先存儲(chǔ),并在數(shù)據(jù)有加密需求或解密需求時(shí),直接提取加密對(duì)象或解密對(duì)象進(jìn)行加密或解密,避免了每次在加解密數(shù)據(jù)時(shí)都需實(shí)時(shí)創(chuàng)建加密對(duì)象和解密對(duì)象而使整個(gè)加解密過(guò)程耗時(shí)長(zhǎng)且成功率較低等問(wèn)題,使得在確保用戶數(shù)據(jù)安全的同時(shí),提高了對(duì)用戶數(shù)據(jù)的加解密效率和成功率,從而提升了用戶的使用體驗(yàn)。此外,由于不用實(shí)時(shí)創(chuàng)建加密對(duì)象和解密對(duì)象,大大節(jié)省了系統(tǒng)資源,使得系統(tǒng)擁有更多的空閑資源同時(shí)處理更多的數(shù)據(jù),從而提高了系統(tǒng)在高并發(fā)情況下的處理能力。
[0019]在上述技術(shù)方案中,優(yōu)選地,還包括:獲取單元,用于在所述檢測(cè)單元檢測(cè)獲取到的所述任一數(shù)據(jù)是否有加密需求或解密需求之前,對(duì)所述任一數(shù)據(jù)進(jìn)行加密處理時(shí)所使用的加密密鑰,和/或?qū)λ鋈我粩?shù)據(jù)進(jìn)行解