一種Web軟件的升級(jí)方法及裝置制造方法
【專利摘要】本發(fā)明涉及軟件升級(jí)【技術(shù)領(lǐng)域】,公開(kāi)了一種Web軟件的升級(jí)方法及裝置。該方法包括:在升級(jí)服務(wù)器端:由原始升級(jí)包生成升級(jí)序列集;對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集;在本地服務(wù)器端:對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集;將解密后的升級(jí)包中包含的文件和解密后的升級(jí)序列集中的文件信息進(jìn)行比較;若不匹配,停止升級(jí);若匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。由于本發(fā)明在對(duì)數(shù)據(jù)進(jìn)行傳輸時(shí),不僅對(duì)數(shù)據(jù)進(jìn)行了加密處理,降低了數(shù)據(jù)被篡改的風(fēng)險(xiǎn);而且還對(duì)得到的升級(jí)文件的準(zhǔn)確性進(jìn)行了判定,提高了軟件升級(jí)的安全性。
【專利說(shuō)明】一種Web軟件的升級(jí)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件升級(jí)【技術(shù)領(lǐng)域】,主要適用于Web軟件的升級(jí)方法及裝置。
【背景技術(shù)】
[0002]當(dāng)前的企業(yè)資源計(jì)劃系統(tǒng)、制造執(zhí)行系統(tǒng)等生產(chǎn)管理類軟件,每次升級(jí)都會(huì)涉及到數(shù)據(jù)庫(kù)備份、web服務(wù)器重啟及升級(jí)失敗時(shí)的日志查看等一系列的操作。而對(duì)于應(yīng)用到生產(chǎn)環(huán)境的web系統(tǒng)而言,每次升級(jí)都要求升級(jí)時(shí)間短和升級(jí)數(shù)據(jù)準(zhǔn)確。對(duì)于企業(yè)軟件而言,數(shù)據(jù)是核心競(jìng)爭(zhēng)力,數(shù)據(jù)的安全性也是企業(yè)最關(guān)心的問(wèn)題。
[0003]目前Web軟件的升級(jí)方式依然遵循傳統(tǒng)軟件的升級(jí)方式,在安全方面缺乏考慮。
[0004]傳統(tǒng)的Web軟件升級(jí)方法有兩種:
[0005]1.基于網(wǎng)絡(luò)(FTP)方式自動(dòng)在服務(wù)器端下載軟件升級(jí)包,然后調(diào)用工具解析升級(jí)包進(jìn)行升級(jí)。
[0006]2.在Web軟件服務(wù)端存入完整升級(jí)包,手動(dòng)調(diào)用工具解析升級(jí)包進(jìn)行升級(jí)。
[0007]以上兩種升級(jí)方法分別存在以下缺點(diǎn):
[0008]第一種升級(jí)方法存在的缺點(diǎn):
[0009]1.在基于網(wǎng)絡(luò)(FTP)下載升級(jí)包之前,沒(méi)有通過(guò)加密Key鑰驗(yàn)證升級(jí)包是否合法,導(dǎo)致升級(jí)包存在非法下載的風(fēng)險(xiǎn),缺乏安全性;
[0010]2.在安裝升級(jí)包的過(guò)程中,升級(jí)包沒(méi)有加密Key鑰,導(dǎo)致升級(jí)包存在被篡改的風(fēng)險(xiǎn),缺乏安全性;
[0011]第二種升級(jí)方法存在的缺點(diǎn):
[0012]1.在每次升級(jí)時(shí),都需要手動(dòng)啟動(dòng)web服務(wù)器,而且是否啟動(dòng)成功也無(wú)法判斷,導(dǎo)致升級(jí)不及時(shí);
[0013]2.當(dāng)升級(jí)失敗時(shí),如果忘記對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,會(huì)造成大量數(shù)據(jù)的丟失,且無(wú)法做到及時(shí)回滾。
【發(fā)明內(nèi)容】
[0014]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種Web軟件的升級(jí)方法及裝置,它能夠提高軟件升級(jí)的安全性。
[0015]為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種Web軟件的升級(jí)方法,包括:
[0016]在升級(jí)服務(wù)器端:
[0017]由原始升級(jí)包生成升級(jí)序列集;
[0018]對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集;
[0019]在本地服務(wù)器端:
[0020]對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集;
[0021]將所述解密后的升級(jí)包中包含的文件和所述解密后的升級(jí)序列集中的文件信息進(jìn)行比較;
[0022]若不匹配,停止升級(jí);
[0023]若匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
[0024]進(jìn)一步地,所述對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集,包括:
[0025]對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到所述加密后的原始升級(jí)包和升級(jí)序列集;
[0026]所述對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集,包括:
[0027]對(duì)所述加密后的升級(jí)包和升級(jí)序列集與擴(kuò)展密鑰進(jìn)行異或運(yùn)算、反字符串運(yùn)算、反位運(yùn)算,得到所述解密后的升級(jí)包和升級(jí)序列集。
[0028]進(jìn)一步地,還包括:
[0029]在升級(jí)服務(wù)器端:
[0030]生成所述加密后的升級(jí)序列集的標(biāo)識(shí)碼和Key鑰;
[0031]對(duì)所述Key鑰進(jìn)行加密,得到加密后的Key鑰;
[0032]對(duì)所述加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰;將所述混淆后的Key鑰與所述加密后的升級(jí)序列集的標(biāo)識(shí)碼組合,得到混淆加密后的Key鑰;
[0033]在本地服務(wù)器端:
[0034]對(duì)所述混淆加密后的Key鑰進(jìn)行反混淆,得到所述加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼;
[0035]將所述在本地服務(wù)器端得到的加密后的升級(jí)序列集的標(biāo)識(shí)碼和在升級(jí)服務(wù)器端生成的加密后的升級(jí)序列集的標(biāo)識(shí)碼進(jìn)行比較;
[0036]若不匹配,停止升級(jí);
[0037]若匹配成功,對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密。
[0038]進(jìn)一步地,所述生成所述加密后的升級(jí)序列集的Key鑰,包括:
[0039]對(duì)所述加密后的升級(jí)序列集進(jìn)行映射,生成所述Key鑰。
[0040]進(jìn)一步地,還包括:
[0041]在升級(jí)服務(wù)器端:
[0042]生成所述加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼;
[0043]通過(guò)所述Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本;
[0044]所述對(duì)所述加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰,包括:
[0045]對(duì)所述加密后的Key鑰進(jìn)行位混淆和/或字符串混淆,得到所述混淆后的Key鑰;
[0046]在本地服務(wù)器端:
[0047]所述對(duì)所述混淆加密后的Key鑰進(jìn)行反混淆,得到所述加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼,包括:
[0048]獲取加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼,將獲取到的所述Key鑰的標(biāo)識(shí)碼與所述密碼本進(jìn)行比較;
[0049]若不匹配,停止升級(jí);
[0050]若匹配成功,對(duì)混淆加密后的Key鑰進(jìn)行位反混淆和/或字符串反混淆,得到所述加密后的Key鑰和所述加密后的升級(jí)序列集的標(biāo)識(shí)碼。
[0051]本發(fā)明提供的Web軟件的升級(jí)裝置,包括:
[0052]在升級(jí)服務(wù)器端:
[0053]升級(jí)序列集產(chǎn)生模塊,用于由原始升級(jí)包生成升級(jí)序列集;
[0054]第一加密模塊,用于對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集;
[0055]在本地服務(wù)器端:
[0056]解密模塊,用于對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集;
[0057]第一匹配模塊,用于將所述解密后的升級(jí)包中包含的文件和所述解密后的升級(jí)序列集中的文件信息進(jìn)行比較;
[0058]升級(jí)模塊,用于若所述第一匹配模塊的比較結(jié)果為匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
[0059]進(jìn)一步地,所述第一加密模塊,具體用于對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到所述加密后的原始升級(jí)包和升級(jí)序列集;
[0060]所述解密模塊,具體用于對(duì)所述加密后的升級(jí)包和升級(jí)序列集與擴(kuò)展密鑰進(jìn)行異或運(yùn)算、反字符串運(yùn)算、反位運(yùn)算,得到所述解密后的升級(jí)包和升級(jí)序列集。
[0061]進(jìn)一步地,還包括:
[0062]在升級(jí)服務(wù)器端:
[0063]第一標(biāo)識(shí)碼產(chǎn)生模塊,用于生成所述加密后的升級(jí)序列集的標(biāo)識(shí)碼;
[0064]Key鑰產(chǎn)生模塊,用于生成所述加密后的升級(jí)序列集的Key鑰;
[0065]第二加密模塊,用于對(duì)所述加密后的升級(jí)序列集的Key鑰進(jìn)行加密,得到加密后的Key鑰;
[0066]混淆執(zhí)行模塊,用于對(duì)所述加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰;
[0067]混淆加密Key鑰產(chǎn)生模塊,用于將所述混淆后的Key鑰與所述加密后的升級(jí)序列集的標(biāo)識(shí)碼組合,得到混淆加密后的Key鑰;
[0068]在本地服務(wù)器端:
[0069]反混淆模塊,用于對(duì)所述混淆加密后的Key鑰進(jìn)行反混淆,得到所述加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼;
[0070]第二匹配模塊,用于將所述在本地服務(wù)器端得到的加密后的升級(jí)序列集的標(biāo)識(shí)碼和在升級(jí)服務(wù)器端生成的加密后的升級(jí)序列集的標(biāo)識(shí)碼進(jìn)行比較;
[0071]所述解密模塊,具體用于若所述第二匹配模塊的比較結(jié)果為匹配成功,對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集。
[0072]進(jìn)一步地,所述Key鑰產(chǎn)生模塊,具體用于對(duì)所述加密后的升級(jí)序列集進(jìn)行映射,生成所述Key鑰。
[0073]進(jìn)一步地,還包括:
[0074]在升級(jí)服務(wù)器端:
[0075]第二標(biāo)識(shí)碼產(chǎn)生模塊,用于生成所述加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼;
[0076]密碼本產(chǎn)生模塊,用于通過(guò)所述加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本;
[0077]所述混淆執(zhí)行模塊,具體用于對(duì)所述加密后的Key鑰進(jìn)行位混淆和/或字符串混淆,得到所述混淆后的Key鑰;
[0078]在本地服務(wù)器端:
[0079]所述反混淆模塊,包括:
[0080]比較單元,用于獲取加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼,將獲取到的所述Key鑰的標(biāo)識(shí)碼與所述密碼本進(jìn)行比較;
[0081]反混淆執(zhí)行單元,用于若所述比較單元的比較結(jié)果為匹配成功,對(duì)混淆加密后的Key鑰進(jìn)行位反混淆和/或字符串反混淆,得到所述加密后的Key鑰和所述加密后的升級(jí)序列集的標(biāo)識(shí)碼。
[0082]本發(fā)明提供的Web軟件的升級(jí)方法及裝置,在升級(jí)服務(wù)器端,先由原始升級(jí)包生成升級(jí)序列集,并對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密得到加密后的升級(jí)包和升級(jí)序列集。在本地服務(wù)器端,對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密得到解密后的升級(jí)包和升級(jí)序列集;再將解密后的升級(jí)包中包含的文件和解密后的升級(jí)序列集中的文件信息進(jìn)行比較,再根據(jù)比較結(jié)果判斷是否進(jìn)行升級(jí)。由于本發(fā)明在對(duì)數(shù)據(jù)進(jìn)行傳輸時(shí),不僅對(duì)數(shù)據(jù)進(jìn)行了加密處理,降低了數(shù)據(jù)被篡改的風(fēng)險(xiǎn);而且還對(duì)得到的升級(jí)文件的準(zhǔn)確性進(jìn)行了判定,提高了軟件升級(jí)的安全性。
【專利附圖】
【附圖說(shuō)明】
[0083]圖1為本發(fā)明實(shí)施例提供的Web軟件的升級(jí)方法的流程圖;
[0084]圖2為本發(fā)明實(shí)施例提供的Web軟件的升級(jí)方法中對(duì)數(shù)據(jù)進(jìn)行混淆的流程圖;
[0085]圖3為本發(fā)明實(shí)施例提供的Web軟件的升級(jí)方法中對(duì)數(shù)據(jù)進(jìn)行反混淆的流程圖;
[0086]圖4為本發(fā)明實(shí)施例提供的Web軟件的升級(jí)裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0087]為進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明提出的Web軟件的升級(jí)方法及裝置的【具體實(shí)施方式】及工作原理進(jìn)行詳細(xì)說(shuō)明。
[0088]參見(jiàn)圖1,本發(fā)明實(shí)施例提供的Web軟件的升級(jí)方法,包括:
[0089]在升級(jí)服務(wù)器端:
[0090]步驟SllO:由原始升級(jí)包生成升級(jí)序列集;
[0091]對(duì)本步驟進(jìn)行說(shuō)明,先將原始升級(jí)包(如patch0630.zip)中升級(jí)文件的基本信息整合成升級(jí)序列,再將升級(jí)序列存放于升級(jí)序列集(如path0630.jsons)中。其中,升級(jí)文件的基本信息包括:創(chuàng)建時(shí)間、大小、文件類型、路徑、MD5等等。
[0092]步驟S120:對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集;
[0093]對(duì)本步驟進(jìn)行說(shuō)明,基于AES加密算法對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密,具體為對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到加密后的原始升級(jí)包和升級(jí)序列集;需要說(shuō)明的是,本發(fā)明實(shí)施例也可以通過(guò)其他方式對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密,不僅限于AES加密算法,本發(fā)明實(shí)施例對(duì)此不進(jìn)行具體的限制。
[0094]在本地服務(wù)器端:
[0095]步驟S130:對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集;
[0096]對(duì)本步驟進(jìn)行說(shuō)明,對(duì)加密后的升級(jí)包和升級(jí)序列集與擴(kuò)展密鑰進(jìn)行異或運(yùn)算、反字符串運(yùn)算、反位運(yùn)算,得到解密后的升級(jí)包和升級(jí)序列集。
[0097]步驟S140:將解密后的升級(jí)包中包含的文件和解密后的升級(jí)序列集中的文件信息進(jìn)行比較;在本發(fā)明實(shí)施例中,需要將解密后的升級(jí)包中的所有升級(jí)文件的所有基本信息與解密后的升級(jí)序列集中的所有升級(jí)文件的所有基本信息進(jìn)行比較;
[0098]若不匹配,則說(shuō)明數(shù)據(jù)已經(jīng)被篡改,軟件升級(jí)的安全性下降,停止升級(jí)步驟;在本發(fā)明實(shí)施例中,若有其中任一個(gè)升級(jí)文件的任一個(gè)基本信息不匹配,停止升級(jí);
[0099]若匹配成功,則說(shuō)明數(shù)據(jù)正常,根據(jù)升級(jí)文件進(jìn)行升級(jí)。在本發(fā)明實(shí)施例中,若所有升級(jí)文件的所有基本信息均匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
[0100]需要說(shuō)明的是,為了進(jìn)一步地提高本發(fā)明實(shí)施例對(duì)軟件升級(jí)的安全性,本發(fā)明實(shí)施例還可以包括對(duì)數(shù)據(jù)進(jìn)行混淆和反混淆的步驟。
[0101]參見(jiàn)圖2,對(duì)數(shù)據(jù)進(jìn)行混淆的步驟包括:
[0102]在升級(jí)服務(wù)器端:
[0103]生成加密后的升級(jí)序列集的標(biāo)識(shí)碼和Key鑰;其中,加密后的升級(jí)序列集的標(biāo)識(shí)碼為MD5碼,如202cb962ac59075b964b07152d234b70。這里需要說(shuō)明的是,加密后的升級(jí)序列集的標(biāo)識(shí)碼也可以是其他的唯一標(biāo)識(shí)碼,而不僅限于MD5碼,本發(fā)明實(shí)施例對(duì)此不進(jìn)行具體的限制。在本發(fā)明實(shí)施例中,可以通過(guò)對(duì)加密后的升級(jí)序列集進(jìn)行映射,生成加密后的升級(jí)序列集的 Key 鑰,如:c7-56-f8-88-52-6s-ef。
[0104]對(duì)加密后的升級(jí)序列集的Key鑰進(jìn)行加密,得到加密后的Key鑰;
[0105]對(duì)本步驟進(jìn)行說(shuō)明,對(duì)加密后的升級(jí)序列集的Key鑰進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到加密后的Key鑰;需要說(shuō)明的是,在本步驟中,在對(duì)Key鑰進(jìn)行加密時(shí),可以對(duì)Key鑰進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算三種運(yùn)算來(lái)實(shí)現(xiàn)加密,且三者的順序不做限制;也可以對(duì)Key鑰進(jìn)行這三種運(yùn)算中的任意一種或兩種來(lái)實(shí)現(xiàn)加密;其中,當(dāng)對(duì)Key鑰進(jìn)行其中任意兩種運(yùn)算來(lái)實(shí)現(xiàn)加密時(shí),這兩種運(yùn)算的順序不做限制。本發(fā)明實(shí)施例不對(duì)Key鑰的加密步驟做出具體的限制。
[0106]對(duì)加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰,如YzctNTYtZjgtODgtNTItNnMtZffY =;將混淆后的Key鑰與加密后的升級(jí)序列集的標(biāo)識(shí)碼組合,得到混淆加密后的 Key 鑰,如 202cb962ac59075b964b07152d234b70#YzctNTYtZjgt0DgtNTItNnMtZffY =;其中,對(duì)加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰的具體步驟為:對(duì)加密后的Key鑰進(jìn)行位混淆和/或字符串混淆,得到混淆后的Key鑰;需要說(shuō)明的是,在本步驟中,對(duì)加密后的Key鑰進(jìn)行混淆時(shí),可以既進(jìn)行位混淆,又進(jìn)行字符串混淆,兩者的順序不做限制;也可以兩者僅執(zhí)行其一,即僅進(jìn)行位混淆或字符串混淆。當(dāng)然,也可以通過(guò)其他的混淆方式對(duì)加密后的Key鑰進(jìn)行混淆,而不僅僅局限于這兩種混淆方式,本發(fā)明實(shí)施例不對(duì)Key鑰的混淆步驟做出具體的限制。
[0107]對(duì)數(shù)據(jù)進(jìn)行反混淆的步驟包括:
[0108]在本地服務(wù)器端:
[0109]對(duì)混淆加密后的Key鑰進(jìn)行反混淆,得到加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼;需要說(shuō)明的是,為了能夠?qū)煜用芎蟮腒ey鑰進(jìn)行反混淆,在升級(jí)服務(wù)器端,還需要生成加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼;并通過(guò)該Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本;其中,加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼為MD5碼。當(dāng)然,Key鑰的標(biāo)識(shí)碼也可以是其他的唯一標(biāo)識(shí)碼,而不僅限于MD5碼,本發(fā)明實(shí)施例對(duì)此不進(jìn)行具體的限制;密碼本根據(jù)標(biāo)識(shí)碼隨機(jī)打散重新整合,通過(guò)Key鑰產(chǎn)生的標(biāo)識(shí)碼在本發(fā)明實(shí)施例中匹配唯一密碼本,通過(guò)密碼本可以混淆AES加密Key鑰,也可以反混淆得到正確的AES加密Key鑰。參見(jiàn)圖3,對(duì)本步驟進(jìn)行具體的說(shuō)明,先獲取加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼,再將獲取到的Key鑰的標(biāo)識(shí)碼與在升級(jí)服務(wù)器端創(chuàng)建的密碼本進(jìn)行比較;若不匹配,則說(shuō)明Key鑰的標(biāo)識(shí)碼可能在傳輸過(guò)程中已經(jīng)被篡改,Key鑰非法,軟件升級(jí)的安全性下降,停止升級(jí)步驟;若匹配成功,則說(shuō)明數(shù)據(jù)正常,Key鑰合法,對(duì)混淆加密后的Key鑰進(jìn)行位反混淆和/或字符串反混淆,從而得到加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼。其中,對(duì)混淆加密后的Key鑰進(jìn)行反混淆的步驟為混淆步驟的逆操作,即當(dāng)只對(duì)Key鑰進(jìn)行位混淆時(shí),只對(duì)混淆后的Key鑰進(jìn)行位反混淆;當(dāng)只對(duì)Key鑰進(jìn)行字符串混淆時(shí),只對(duì)混淆后的Key鑰進(jìn)行字符串反混淆;當(dāng)對(duì)Key鑰既進(jìn)行位混淆,又進(jìn)行字符串混淆時(shí),對(duì)混淆后的Key鑰既進(jìn)行位反混淆,又進(jìn)行字符串反混淆,反混淆為混淆的逆操作。
[0110]將在本地服務(wù)器端得到的加密后的升級(jí)序列集的標(biāo)識(shí)碼和在升級(jí)服務(wù)器端生成的加密后的升級(jí)序列集的標(biāo)識(shí)碼進(jìn)行比較;
[0111]若不匹配,停止升級(jí);
[0112]若匹配成功,則對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密。
[0113]這里需要說(shuō)明的是,若不對(duì)加密后Key鑰進(jìn)行混淆和反混淆的步驟,而僅進(jìn)行加解密的步驟,則可以不在升級(jí)服務(wù)器端執(zhí)行生成加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼、通過(guò)該Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本、對(duì)加密后的Key鑰進(jìn)行混淆及對(duì)混淆加密后的Key鑰進(jìn)行反混淆的步驟。
[0114]最后需要說(shuō)明的是,若本發(fā)明實(shí)施例是基于C/S架構(gòu)的JDK1.6來(lái)構(gòu)建的,在升級(jí)服務(wù)器端的工作人員將混淆加密后的Key鑰、升級(jí)包和升級(jí)序列集發(fā)送到本地服務(wù)器端;在本地服務(wù)器端的工作人員接收數(shù)據(jù),并進(jìn)行相應(yīng)的操作;若本發(fā)明實(shí)施例是基于B/S架構(gòu)來(lái)構(gòu)建的,在本地服務(wù)器端的工作人員則需要從配置服務(wù)器下載混淆加密后的Key鑰、升級(jí)包和升級(jí)序列集,并進(jìn)行相應(yīng)的操作的。
[0115]本發(fā)明實(shí)施例加密相關(guān)API (應(yīng)用程序接口)的函數(shù)為:
[0116]Public static byte [] encrypt (String content) {}
[0117]AES加密函數(shù),將明文文本加密并返回一串?dāng)?shù)組;
[0118]Public static byte [] decrypt (String content) {}
[0119]AES解密函數(shù),將加密Key鑰解密并返回一串?dāng)?shù)組;
[0120]Public static byte []hexEncrypt (String content) {}
[0121]混淆算法函數(shù),將Key鑰混淆返回一串?dāng)?shù)組;
[0122]Public static byte[]hexDecrypt(String content){}
[0123]反混淆算法函數(shù),將混淆Key鑰反混淆返回一串?dāng)?shù)組。
[0124]參見(jiàn)圖4,本發(fā)明實(shí)施例提供的Web軟件的升級(jí)裝置,包括:
[0125]在升級(jí)服務(wù)器端:
[0126]升級(jí)序列集產(chǎn)生模塊100,用于由原始升級(jí)包生成升級(jí)序列集;
[0127]在本發(fā)明實(shí)施例中,升級(jí)序列集產(chǎn)生模塊100,具體用于將原始升級(jí)包(如patch0630.zip)中升級(jí)文件的基本信息整合成升級(jí)序列,再將升級(jí)序列存放于升級(jí)序列集(如path0630.jsons)中。其中,升級(jí)文件的基本信息包括:創(chuàng)建時(shí)間、大小、文件類型、路徑、MD5等等。
[0128]第一加密模塊200,用于對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集;
[0129]在本發(fā)明實(shí)施例中,第一加密模塊200,具體用于對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到加密后的原始升級(jí)包和升級(jí)序列集;
[0130]在本地服務(wù)器端:
[0131]解密模塊300,用于對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集;
[0132]在本發(fā)明實(shí)施例中,解密模塊300,具體用于對(duì)加密后的升級(jí)包和升級(jí)序列集與擴(kuò)展密鑰進(jìn)行異或運(yùn)算、反字符串運(yùn)算、反位運(yùn)算,得到解密后的升級(jí)包和升級(jí)序列集。
[0133]第一匹配模塊400,用于將解密后的升級(jí)包中包含的文件和解密后的升級(jí)序列集中的文件信息進(jìn)行比較;
[0134]在本發(fā)明實(shí)施例中,第一匹配模塊400,具體用于將解密后的升級(jí)包中的所有升級(jí)文件的所有基本信息與解密后的升級(jí)序列集中的所有升級(jí)文件的所有基本信息進(jìn)行比較;
[0135]中止模塊500,用于若第一匹配模塊400的比較結(jié)果為不匹配,停止升級(jí)步驟;
[0136]在本發(fā)明實(shí)施例中,中止模塊500,具體用于若第一匹配模塊400的比較結(jié)果為有任一個(gè)升級(jí)文件的任一個(gè)基本信息不匹配,停止升級(jí);
[0137]升級(jí)模塊600,用于若第一匹配模塊400的比較結(jié)果為匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
[0138]在本發(fā)明實(shí)施例中,升級(jí)模塊600,具體用于若第一匹配模塊400的比較結(jié)果為所有升級(jí)文件的所有基本信息均匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
[0139]需要說(shuō)明的是,為了進(jìn)一步地提高本發(fā)明實(shí)施例對(duì)軟件升級(jí)的安全性,本發(fā)明實(shí)施例還可以包括對(duì)數(shù)據(jù)進(jìn)行混淆和反混淆的功能模塊。具體包括:
[0140]在升級(jí)服務(wù)器端:
[0141]第一標(biāo)識(shí)碼產(chǎn)生模塊,用于生成加密后的升級(jí)序列集的標(biāo)識(shí)碼;其中,加密后的升級(jí)序列集的標(biāo)識(shí)碼為MD5碼,如202cb962ac59075b964b07152d234b70。這里需要說(shuō)明的是,加密后的升級(jí)序列集的標(biāo)識(shí)碼也可以是其他的唯一標(biāo)識(shí)碼,而不僅限于MD5碼,本發(fā)明實(shí)施例對(duì)此不進(jìn)行具體的限制。
[0142]Key鑰產(chǎn)生模塊,用于生成加密后的升級(jí)序列集的Key鑰;
[0143]在本發(fā)明實(shí)施例中,Key鑰產(chǎn)生模塊,具體用于對(duì)加密后的升級(jí)序列集進(jìn)行映射,生成加密后的升級(jí)序列集的Key鑰,如:c7-56-f8-88-52-6s-ef。
[0144]第二加密模塊,用于對(duì)加密后的升級(jí)序列集的Key鑰進(jìn)行加密,得到加密后的Key鑰;
[0145]在本發(fā)明實(shí)施例中,第二加密模塊,具體用于對(duì)加密后的升級(jí)序列集的Key鑰進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到加密后的Key鑰;需要說(shuō)明的是,在本步驟中,在對(duì)Key鑰進(jìn)行加密時(shí),可以對(duì)Key鑰進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算三種運(yùn)算來(lái)實(shí)現(xiàn)加密,且三者的順序不做限制;也可以對(duì)Key鑰進(jìn)行這三種運(yùn)算中的任意一種或兩種來(lái)實(shí)現(xiàn)加密;其中,當(dāng)對(duì)Key鑰進(jìn)行其中任意兩種運(yùn)算來(lái)實(shí)現(xiàn)加密時(shí),這兩種運(yùn)算的順序不做限制。本發(fā)明實(shí)施例不對(duì)Key鑰的加密步驟做出具體的限制。
[0146]混淆執(zhí)行模塊,用于對(duì)加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰,如YzctNTYtZjgtODgtNTItNnMtZffY =;
[0147]在本發(fā)明實(shí)施例中,混淆執(zhí)行模塊,具體用于對(duì)加密后的Key鑰進(jìn)行位混淆和/或字符串混淆,得到混淆后的Key鑰;需要說(shuō)明的是,在本步驟中,對(duì)加密后的Key鑰進(jìn)行混淆時(shí),可以既進(jìn)行位混淆,又進(jìn)行字符串混淆,兩者的順序不做限制;也可以兩者僅執(zhí)行其一,即僅進(jìn)行位混淆或字符串混淆。當(dāng)然,也可以通過(guò)其他的混淆方式對(duì)加密后的Key鑰進(jìn)行混淆,而不僅僅局限于這兩種混淆方式,本發(fā)明實(shí)施例不對(duì)Key鑰的混淆步驟做出具體的限制。
[0148]混淆加密Key鑰產(chǎn)生模塊,用于將混淆后的Key鑰與加密后的升級(jí)序列集的標(biāo)識(shí)碼組合,得到混淆加密后的 Key 鑰,如 202cb962ac59075b964b07152d234b70#YzctNTYtZjgtODgtNTItNnMtZffY =;
[0149]在本地服務(wù)器端:
[0150]反混淆模塊,用于對(duì)混淆加密后的Key鑰進(jìn)行反混淆,得到加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼;
[0151]需要說(shuō)明的是,為了能夠?qū)煜用芎蟮腒ey鑰進(jìn)行反混淆,在升級(jí)服務(wù)器端,還需要包括:
[0152]第二標(biāo)識(shí)碼產(chǎn)生模塊,用于生成加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼;其中,力口密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼為MD5碼。當(dāng)然,Key鑰的標(biāo)識(shí)碼也可以是其他的唯一標(biāo)識(shí)碼,而不僅限于MD5碼,本發(fā)明實(shí)施例對(duì)此不進(jìn)行具體的限制;
[0153]密碼本產(chǎn)生模塊,用于通過(guò)加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本;其中,密碼本根據(jù)標(biāo)識(shí)碼隨機(jī)打散重新整合,通過(guò)Key鑰產(chǎn)生的標(biāo)識(shí)碼在本發(fā)明實(shí)施例中匹配唯一密碼本,通過(guò)密碼本可以混淆AES加密Key鑰,也可以反混淆得到正確的AES加密Key 鑰。
[0154]由此可知,在本發(fā)明實(shí)施例中,反混淆模塊,包括:
[0155]比較單元,用于獲取加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼,將獲取到的Key鑰的標(biāo)識(shí)碼與密碼本進(jìn)行比較;
[0156]中止單元,用于若比較單元的比較結(jié)果為不匹配,停止升級(jí)步驟;
[0157]反混淆執(zhí)行單元,用于若比較單元的比較結(jié)果為匹配成功,對(duì)混淆加密后的Key鑰進(jìn)行位反混淆和/或字符串反混淆,得到加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼。其中,對(duì)混淆加密后的Key鑰進(jìn)行反混淆的步驟為混淆步驟的逆操作,即當(dāng)只對(duì)Key鑰進(jìn)行位混淆時(shí),只對(duì)混淆后的Key鑰進(jìn)行位反混淆;當(dāng)只對(duì)Key鑰進(jìn)行字符串混淆時(shí),只對(duì)混淆后的Key鑰進(jìn)行字符串反混淆;當(dāng)對(duì)Key鑰既進(jìn)行位混淆,又進(jìn)行字符串混淆時(shí),對(duì)混淆后的Key鑰既進(jìn)行位反混淆,又進(jìn)行字符串反混淆,反混淆為混淆的逆操作。
[0158]第二匹配模塊,用于將在本地服務(wù)器端得到的加密后的升級(jí)序列集的標(biāo)識(shí)碼和在升級(jí)服務(wù)器端生成的加密后的升級(jí)序列集的標(biāo)識(shí)碼進(jìn)行比較;
[0159]中斷模塊,用于若第二匹配模塊的比較結(jié)果為不匹配,停止升級(jí);
[0160]解密模塊,具體用于若第二匹配模塊的比較結(jié)果為匹配成功,對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集。
[0161]這里需要說(shuō)明的是,若不對(duì)加密后Key鑰進(jìn)行混淆和反混淆的步驟,而僅進(jìn)行加解密的步驟,則可以不包括混淆執(zhí)行模塊、混淆加密Key鑰產(chǎn)生模塊、反混淆模塊、第二標(biāo)識(shí)碼產(chǎn)生模塊和密碼本產(chǎn)生模塊,本發(fā)明實(shí)施例為包括這幾個(gè)功能模塊的優(yōu)選實(shí)施例。
[0162]最后需要說(shuō)明的是,若本發(fā)明實(shí)施例是基于C/S架構(gòu)的JDK1.6來(lái)構(gòu)建的,在升級(jí)服務(wù)器端的工作人員將混淆加密后的Key鑰、升級(jí)包和升級(jí)序列集發(fā)送到本地服務(wù)器端;在本地服務(wù)器端的工作人員接收數(shù)據(jù),并進(jìn)行相應(yīng)的操作;若本發(fā)明實(shí)施例是基于B/S架構(gòu)來(lái)構(gòu)建的,在本地服務(wù)器端的工作人員則需要從配置服務(wù)器下載混淆加密后的Key鑰、升級(jí)包和升級(jí)序列集,并進(jìn)行相應(yīng)的操作的。
[0163]本發(fā)明實(shí)施例加密相關(guān)API (應(yīng)用程序接口)的函數(shù)為:
[0164]Public static byte[]encrypt(String content){}
[0165]AES加密函數(shù),將明文文本加密并返回一串?dāng)?shù)組;
[0166]Public static byte[]decrypt(String content){}
[0167]AES解密函數(shù),將加密Key鑰解密并返回一串?dāng)?shù)組;
[0168]Public static byte[]hexEncrypt(String content){}
[0169]混淆算法函數(shù),將Key鑰混淆返回一串?dāng)?shù)組;
[0170]Public static byte[]hexDecrypt(String content){}
[0171]反混淆算法函數(shù),將混淆Key鑰反混淆返回一串?dāng)?shù)組。
[0172]本發(fā)明實(shí)施例提供的Web軟件的升級(jí)方法及裝置,在升級(jí)服務(wù)器端,先由原始升級(jí)包生成升級(jí)序列集,并對(duì)原始升級(jí)包和升級(jí)序列集進(jìn)行加密得到加密后的升級(jí)包和升級(jí)序列集。在本地服務(wù)器端,對(duì)加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密得到解密后的升級(jí)包和升級(jí)序列集;再將解密后的升級(jí)包中包含的文件和解密后的升級(jí)序列集中的文件信息進(jìn)行比較,再根據(jù)比較結(jié)果判斷是否進(jìn)行升級(jí)。由于本發(fā)明在對(duì)數(shù)據(jù)進(jìn)行傳輸時(shí),不僅對(duì)數(shù)據(jù)進(jìn)行了加密處理,降低了數(shù)據(jù)被篡改的風(fēng)險(xiǎn);而且還對(duì)得到的升級(jí)文件的準(zhǔn)確性進(jìn)行了判定,提高了軟件升級(jí)的安全性。另外,為了進(jìn)一步地提高軟件升級(jí)的安全性,本發(fā)明實(shí)施例還包括對(duì)數(shù)據(jù)進(jìn)行混淆和反混淆的步驟,實(shí)現(xiàn)了對(duì)數(shù)據(jù)分別進(jìn)行加密和混淆的兩重處理,確保數(shù)據(jù)即便在被非法截取后,截取者也不能掌握密鑰的加密方式,從而降低了數(shù)據(jù)被破解的風(fēng)險(xiǎn),進(jìn)一步降低了數(shù)據(jù)被篡改的風(fēng)險(xiǎn),保護(hù)了原始數(shù)據(jù),進(jìn)而進(jìn)一步地提高了軟件升級(jí)的安全性。此外,由于本發(fā)明實(shí)施例可以基于C/S架構(gòu)的JDK1.6來(lái)構(gòu)建,所提供的軟件升級(jí)方式不同于現(xiàn)有的在Web軟件服務(wù)端存入完整升級(jí)包,手動(dòng)調(diào)用工具解析升級(jí)包進(jìn)行升級(jí)的升級(jí)方式,因此還避免了升級(jí)不及時(shí)和數(shù)據(jù)丟失的情況的發(fā)生。
[0173]最后所應(yīng)說(shuō)明的是,以上【具體實(shí)施方式】?jī)H用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照實(shí)例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種Web軟件的升級(jí)方法,其特征在于,包括: 在升級(jí)服務(wù)器端: 由原始升級(jí)包生成升級(jí)序列集; 對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集; 在本地服務(wù)器端: 對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集;將所述解密后的升級(jí)包中包含的文件和所述解密后的升級(jí)序列集中的文件信息進(jìn)行比較; 若不匹配,停止升級(jí); 若匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
2.如權(quán)利要求1所述的Web軟件的升級(jí)方法,其特征在于,所述對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集,包括: 對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到所述加密后的原始升級(jí)包和升級(jí)序列集; 所述對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集,包括: 對(duì)所述加密后的升級(jí)包和升級(jí)序列集與擴(kuò)展密鑰進(jìn)行異或運(yùn)算、反字符串運(yùn)算、反位運(yùn)算,得到所述解密后的升級(jí)包和升級(jí)序列集。
3.如權(quán)利要求1所述的Web軟件的升級(jí)方法,其特征在于,還包括: 在升級(jí)服務(wù)器端: 生成所述加密后的升級(jí)序列集的標(biāo)識(shí)碼和Key鑰; 對(duì)所述Key鑰進(jìn)行加密,得到加密后的Key鑰; 對(duì)所述加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰;將所述混淆后的Key鑰與所述加密后的升級(jí)序列集的標(biāo)識(shí)碼組合,得到混淆加密后的Key鑰; 在本地服務(wù)器端: 對(duì)所述混淆加密后的Key鑰進(jìn)行反混淆,得到所述加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼; 將所述在本地服務(wù)器端得到的加密后的升級(jí)序列集的標(biāo)識(shí)碼和在升級(jí)服務(wù)器端生成的加密后的升級(jí)序列集的標(biāo)識(shí)碼進(jìn)行比較; 若不匹配,停止升級(jí); 若匹配成功,對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密。
4.如權(quán)利要求3所述的Web軟件的升級(jí)方法,其特征在于,所述生成所述加密后的升級(jí)序列集的Key鑰,包括: 對(duì)所述加密后的升級(jí)序列集進(jìn)行映射,生成所述Key鑰。
5.如權(quán)利要求4所述的Web軟件的升級(jí)方法,其特征在于,還包括: 在升級(jí)服務(wù)器端: 生成所述加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼; 通過(guò)所述Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本; 所述對(duì)所述加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰,包括: 對(duì)所述加密后的Key鑰進(jìn)行位混淆和/或字符串混淆,得到所述混淆后的Key鑰; 在本地服務(wù)器端: 所述對(duì)所述混淆加密后的Key鑰進(jìn)行反混淆,得到所述加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼,包括: 獲取加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼,將獲取到的所述Key鑰的標(biāo)識(shí)碼與所述密碼本進(jìn)行比較; 若不匹配,停止升級(jí); 若匹配成功,對(duì)混淆加密后的Key鑰進(jìn)行位反混淆和/或字符串反混淆,得到所述加密后的Key鑰和所述加密后的升級(jí)序列集的標(biāo)識(shí)碼。
6.一種Web軟件的升級(jí)裝置,其特征在于,包括: 在升級(jí)服務(wù)器端: 升級(jí)序列集產(chǎn)生模塊,用于由原始升級(jí)包生成升級(jí)序列集; 第一加密模塊,用于對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行加密,得到加密后的升級(jí)包和升級(jí)序列集; 在本地服務(wù)器端: 解密模塊,用于對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集; 第一匹配模塊,用于將所述解密后的升級(jí)包中包含的文件和所述解密后的升級(jí)序列集中的文件信息進(jìn)行比較; 升級(jí)模塊,用于若所述第一匹配模塊的比較結(jié)果為匹配成功,根據(jù)升級(jí)文件進(jìn)行升級(jí)。
7.如權(quán)利要求6所述的Web軟件的升級(jí)裝置,其特征在于, 所述第一加密模塊,具體用于對(duì)所述原始升級(jí)包和所述升級(jí)序列集進(jìn)行位運(yùn)算、字符串運(yùn)算、與擴(kuò)展密鑰進(jìn)行異或運(yùn)算,得到所述加密后的原始升級(jí)包和升級(jí)序列集; 所述解密模塊,具體用于對(duì)所述加密后的升級(jí)包和升級(jí)序列集與擴(kuò)展密鑰進(jìn)行異或運(yùn)算、反字符串運(yùn)算、反位運(yùn)算,得到所述解密后的升級(jí)包和升級(jí)序列集。
8.如權(quán)利要求6所述的Web軟件的升級(jí)裝置,其特征在于,還包括: 在升級(jí)服務(wù)器端: 第一標(biāo)識(shí)碼產(chǎn)生模塊,用于生成所述加密后的升級(jí)序列集的標(biāo)識(shí)碼; Key鑰產(chǎn)生模塊,用于生成所述加密后的升級(jí)序列集的Key鑰; 第二加密模塊,用于對(duì)所述加密后的升級(jí)序列集的Key鑰進(jìn)行加密,得到加密后的Key鑰; 混淆執(zhí)行模塊,用于對(duì)所述加密后的Key鑰進(jìn)行混淆,得到混淆后的Key鑰; 混淆加密Key鑰產(chǎn)生模塊,用于將所述混淆后的Key鑰與所述加密后的升級(jí)序列集的標(biāo)識(shí)碼組合,得到混淆加密后的Key鑰; 在本地服務(wù)器端: 反混淆模塊,用于對(duì)所述混淆加密后的Key鑰進(jìn)行反混淆,得到所述加密后的Key鑰和加密后的升級(jí)序列集的標(biāo)識(shí)碼; 第二匹配模塊,用于將所述在本地服務(wù)器端得到的加密后的升級(jí)序列集的標(biāo)識(shí)碼和在升級(jí)服務(wù)器端生成的加密后的升級(jí)序列集的標(biāo)識(shí)碼進(jìn)行比較; 所述解密模塊,具體用于若所述第二匹配模塊的比較結(jié)果為匹配成功,對(duì)所述加密后的升級(jí)包和升級(jí)序列集進(jìn)行解密,得到解密后的升級(jí)包和升級(jí)序列集。
9.如權(quán)利要求8所述的Web軟件的升級(jí)裝置,其特征在于,所述Key鑰產(chǎn)生模塊,具體用于對(duì)所述加密后的升級(jí)序列集進(jìn)行映射,生成所述Key鑰。
10.如權(quán)利要求9所述的Web軟件的升級(jí)裝置,其特征在于,還包括: 在升級(jí)服務(wù)器端: 第二標(biāo)識(shí)碼產(chǎn)生模塊,用于生成所述加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼; 密碼本產(chǎn)生模塊,用于通過(guò)所述加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼創(chuàng)建密碼本;所述混淆執(zhí)行模塊,具體用于對(duì)所述加密后的Key鑰進(jìn)行位混淆和/或字符串混淆,得到所述混淆后的Key鑰; 在本地服務(wù)器端: 所述反混淆模塊,包括: 比較單元,用于獲取加密后的升級(jí)序列集的Key鑰的標(biāo)識(shí)碼,將獲取到的所述Key鑰的標(biāo)識(shí)碼與所述密碼本進(jìn)行比較; 反混淆執(zhí)行單元,用于若所述比較單元的比較結(jié)果為匹配成功,對(duì)混淆加密后的Key鑰進(jìn)行位反混淆和/或字符串反混淆,得到所述加密后的Key鑰和所述加密后的升級(jí)序列集的標(biāo)識(shí)碼。
【文檔編號(hào)】G06F9/445GK104135531SQ201410385079
【公開(kāi)日】2014年11月5日 申請(qǐng)日期:2014年8月7日 優(yōu)先權(quán)日:2014年8月7日
【發(fā)明者】胡建平, 劉 東 申請(qǐng)人:武漢益模軟件科技有限公司