一種數(shù)據(jù)庫的加解密方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及通信技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)庫的加解密方法及裝置。
【背景技術(shù)】
[0002]通信設(shè)備如無線網(wǎng)絡(luò)控制器(Rad1 Network Controller,RNC)需要管理工具如行管理與維護,對于網(wǎng)元RNC等通信設(shè)備上的數(shù)據(jù),通常需要同步到本地數(shù)據(jù)庫。
對于本地數(shù)據(jù)庫,需要確保本地數(shù)據(jù)與網(wǎng)元上的數(shù)據(jù)保持一致,防止數(shù)據(jù)被非法修改,因此,對數(shù)據(jù)庫進行加密保護顯得十分重要。
[0003]現(xiàn)有的Oracle、SQL(—種專為數(shù)據(jù)庫作業(yè)系統(tǒng)設(shè)計的程序語,Structure QueryLanguage)服務(wù)器等數(shù)據(jù)庫安裝和使用過于復雜,使用Access數(shù)據(jù)庫,就可以完成數(shù)據(jù)庫功能,并且使用方便,安裝簡單,對于!^!^!^這種對數(shù)據(jù)庫要求較低的軟件,使用Access就可以完成。但是,現(xiàn)有的Access數(shù)據(jù)庫加密過于簡單,普通的通過修改內(nèi)存進行加密的方法又容易引起數(shù)據(jù)庫文件損壞,導致工具無法使用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種數(shù)據(jù)庫的加解密方法及裝置,可以保證加載數(shù)據(jù)庫文件的正確性,同時能夠提升數(shù)據(jù)庫的破解難度,提高加密后數(shù)據(jù)庫的安全性。
[0005]根據(jù)本發(fā)明的第一方面,本發(fā)明提供一種數(shù)據(jù)庫的加密方法,包括:將文件修改信息寫入到待加密數(shù)據(jù)庫中的預設(shè)位置,所述文件修改信息包括:與所述待加密數(shù)據(jù)庫對應的版本信息、版本標志以及加密算法;根據(jù)所述與所述待加密數(shù)據(jù)庫對應的版本信息以及版本標志計算加密密碼;將所述加密密碼寫入到所述待加密數(shù)據(jù)庫中的密碼校驗位置,所述密碼校驗位置用于存儲所述待加密數(shù)據(jù)庫的解密密碼。
[0006]可選的,所述將文件修改信息寫入到待加密數(shù)據(jù)庫中的預設(shè)位置之前包括:獲取當前待加密的數(shù)據(jù)庫的校驗碼信息,所述校驗碼信息用于識別出所述數(shù)據(jù)庫的標識以及所述數(shù)據(jù)庫的版本。
[0007]可選的,所述待加密數(shù)據(jù)庫為Access數(shù)據(jù)庫。
[0008]可選的,所述預設(shè)位置為以第0x300個字節(jié)為起點的數(shù)據(jù)位置。
[0009]可選的,所述校驗位置為數(shù)據(jù)庫中的以第0x00000042個字節(jié)為起點的數(shù)據(jù)位置。
[0010]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:本發(fā)明提供的數(shù)據(jù)庫的加密方法,將文件修改信息寫入到待加密數(shù)據(jù)庫中的預設(shè)位置,所述文件修改信息包括:與所述數(shù)據(jù)庫對應的版本信息、標志以及加密算法,根據(jù)與帶加密數(shù)據(jù)庫對應的版本信息、標志計算加密密碼,并將加密密碼寫入到數(shù)據(jù)庫中的密碼校驗位置,能夠避免數(shù)據(jù)庫文件損壞,保證加載數(shù)據(jù)庫文件的正確性,同時能夠提升數(shù)據(jù)庫的破解難度,提高加密后數(shù)據(jù)庫的安全性。
[0011]根據(jù)本發(fā)明的第二方面,本發(fā)明提供一種數(shù)據(jù)庫的解密方法,包括:從所述待解密數(shù)據(jù)庫中的預設(shè)位置中讀取加密密碼;讀取待解密數(shù)據(jù)庫中的密碼校驗位置的內(nèi)容,所述密碼校驗位置用于存儲所述待加密數(shù)據(jù)庫的解密密碼;將所述加密密碼與所述密碼校驗位置的內(nèi)容比較,若一致,則根據(jù)二次加密算法得到密鑰,并將所述密鑰回填至所述密碼校驗位置。
[0012]可選的,所述讀取文件修改信息之前包括:獲取當前待解密數(shù)據(jù)庫的校驗碼信息,所述校驗碼信息用于識別出所述待解密數(shù)據(jù)庫的文件修改信息,所述文件修改信息包括待解密數(shù)據(jù)庫的版本標識以及待解密數(shù)據(jù)庫的版本信息。
[0013]可選的,所述待解密數(shù)據(jù)庫為Access數(shù)據(jù)庫。
[0014]可選的,所述預設(shè)位置為以第0x300個字節(jié)為起點的數(shù)據(jù)位置。
[0015]可選的,所述校驗位置為待解密數(shù)據(jù)庫中的以第0x00000042個字節(jié)為起點的數(shù)據(jù)位置。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:本發(fā)明提供的數(shù)據(jù)庫的解密方法,從待解密數(shù)據(jù)庫中的預設(shè)位置中讀取加密密碼,讀取待解密數(shù)據(jù)庫中的密碼校驗位置的內(nèi)容,將所述加密密碼與所述密碼校驗位置的內(nèi)容比較,若一致,則根據(jù)二次加密算法得到密鑰,并將所述密鑰回填至所述密碼校驗位置,才能打開數(shù)據(jù)庫,從而能夠提升數(shù)據(jù)庫的破解難度,提高加密后數(shù)據(jù)庫的安全性。
[0017]根據(jù)本發(fā)明的第三方面,本發(fā)明提供一種數(shù)據(jù)庫的加密裝置,包括:第一寫入單元,用于將文件修改信息寫入到待加密數(shù)據(jù)庫中的預設(shè)位置,所述文件修改信息包括:與所述待加密數(shù)據(jù)庫對應的版本信息、版本標志以及加密算法;計算單元,用于根據(jù)所述與所述待加密數(shù)據(jù)庫對應的版本信息以及版本標志計算加密密碼;第二寫入單元,用于將所述加密密碼寫入到所述待加密數(shù)據(jù)庫中的密碼校驗位置,所述密碼校驗位置用于存儲所述待加密數(shù)據(jù)庫的解密密碼??蛇x的,所述符合預設(shè)條件的若干個檢索信息為:在預設(shè)的時間段內(nèi)輸入的若干個檢索信息;所述合并單元具體用于:將預設(shè)時間段內(nèi)采集的若干個檢索信息進行合并,生成復合檢索信息。
[0018]可選的,本發(fā)明裝置還包括:獲取單元,用于獲取當前待加密的數(shù)據(jù)庫的校驗碼信息,所述校驗碼信息用于識別出所述數(shù)據(jù)庫的標識以及所述數(shù)據(jù)庫的版本。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:本發(fā)明提供的數(shù)據(jù)庫的加密裝置,將文件修改信息寫入到待加密數(shù)據(jù)庫中的預設(shè)位置,所述文件修改信息包括:與所述數(shù)據(jù)庫對應的版本信息、標志以及加密算法,根據(jù)與帶加密數(shù)據(jù)庫對應的版本信息、標志計算加密密碼,并將加密密碼寫入到數(shù)據(jù)庫中的密碼校驗位置,能夠避免數(shù)據(jù)庫文件損壞,保證加載數(shù)據(jù)庫文件的正確性,同時能夠提升數(shù)據(jù)庫的破解難度,提高加密后數(shù)據(jù)庫的安全性。
[0020]根據(jù)本發(fā)明的第四方面,本發(fā)明提供一種數(shù)據(jù)庫的解密裝置,包括:第一讀取單元,用于從所述待解密數(shù)據(jù)庫中的預設(shè)位置中讀取加密密碼;第二讀取單元,用于讀取待解密數(shù)據(jù)庫中的密碼校驗位置的內(nèi)容,所述密碼校驗位置用于存儲所述待解密數(shù)據(jù)庫的解密密碼;比較單元,用于將所述解密密碼與所述密碼校驗位置的內(nèi)容比較,若一致,則根據(jù)二次解密算法得到密鑰,并將所述密鑰回填至所述密碼校驗位置。
[0021]可選的,還包括:獲取單元,用于獲取當前待解密數(shù)據(jù)庫的校驗碼信息,所述校驗碼信息用于識別出所述待解密數(shù)據(jù)庫的文件修改信息,所述文件修改信息包括待解密數(shù)據(jù)庫的版本標識以及待解密數(shù)據(jù)庫的版本信息。
[0022]可選的,所述待解密數(shù)據(jù)庫為Access數(shù)據(jù)庫。
[0023]可選的,所述預設(shè)位置為以第0x300個字節(jié)為起點的數(shù)據(jù)位置。
[0024]可選的,所述校驗位置為數(shù)據(jù)庫中的以第0x00000042個字節(jié)為起點的數(shù)據(jù)位置。
[0025]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:本發(fā)明提供的數(shù)據(jù)庫的解密裝置,從待解密數(shù)據(jù)庫中的預設(shè)位置中讀取加密密碼,讀取待解密數(shù)據(jù)庫中的密碼校驗位置的內(nèi)容,將所述加密密碼與所述密碼校驗位置的內(nèi)容比較,若一致,則根據(jù)二次加密算法得到密鑰,并將所述密鑰回填至所述密碼校驗位置,才能打開數(shù)據(jù)庫,從而能夠提升數(shù)據(jù)庫的破解難度,提高加密后數(shù)據(jù)庫的安全性。
【附圖說明】
[0026]圖1為現(xiàn)有技術(shù)的加密方法流程圖;
[0027]圖2為現(xiàn)有技術(shù)的數(shù)據(jù)庫密碼存儲示意圖;
[0028]圖3為本發(fā)明的二次加密數(shù)據(jù)存儲示意圖;
[0029]圖4為本發(fā)明的二次加密數(shù)據(jù)存儲示意圖;
[0030]圖5為本發(fā)明實施例的加密方法流程圖;
[0031]圖6為本發(fā)明實施例的另一種加密方法流程圖;
[0032]圖7為發(fā)明實施例的加密裝置結(jié)構(gòu)示意圖;
[0033]圖8為發(fā)明實施例的另一種加密裝置結(jié)構(gòu)示意圖;
[0034]圖9為本發(fā)明實施例的解密方法流程圖;
[0035]圖10為本發(fā)明實施例的另一種解密方法流程圖;
[0036]圖11為發(fā)明實施例的解密裝置結(jié)構(gòu)示意圖;
[0037]圖12為發(fā)明實施例的另一種解密裝置結(jié)構(gòu)示意圖;
[0038]圖13為一種解密方法流程圖。
【具體實施方式】
[0039]下面通過【具體實施方式】結(jié)合附圖對本發(fā)明作進一步詳細說明。
[0040]當前系統(tǒng)所使用的加密方式為Access數(shù)據(jù)庫系統(tǒng)自帶的加密方式,代碼訪問該數(shù)據(jù)庫的流程如圖1所示,包括步驟:傳入數(shù)據(jù)庫路徑-準備連接數(shù)據(jù)庫字符串-拼寫密碼-連接數(shù)據(jù)庫-打開數(shù)據(jù)庫。這種方式的缺點有:
[0041]I)、數(shù)據(jù)庫源文件不能確定,無法保證該數(shù)據(jù)庫文件是否為本軟件提供的數(shù)據(jù)庫,當密碼被破解后,只需要拿一個密碼相同的Access文件,就可以獲取數(shù)據(jù)、修改數(shù)據(jù)。
[0042]2)、文件安全不能保證,普通的加密算法,容易被破解,對于Access數(shù)據(jù)庫,密碼校驗位置為文件打開后第0x00000042位置,長度為40,如圖2所示,設(shè)置的密碼經(jīng)過異或操作后,