專利名稱:一種用于軟件許可的注冊碼生成方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件許可技術(shù)領(lǐng)域,尤其涉及一種用于軟件許可的注冊碼生成方法和裝置以及基于所述注冊碼生成方法的軟件許可控制方法及裝置。
背景技術(shù):
傳統(tǒng)的軟件許可控制方法,大概有如下幾種方法:1:硬件狗,2:通過網(wǎng)絡(luò)進(jìn)行驗證。3:使用序列號、注冊碼。序列號、注冊碼的方式,是軟件許可控制方面比較常用的一種方式。即通過掃描出硬件序列號,根據(jù)硬件的序列號,來生成唯一的注冊碼,從而一個注冊碼只能在一臺機(jī)器上使用。通常的方法,包括獲取機(jī)器的CPU序列號、硬盤序列號、網(wǎng)卡mac地址。然后通知這些硬件中的一個或者多個組合成序列號,然后生成唯一的注冊碼。具體過程如下:在傳統(tǒng)的方法中,軟件啟動過程如下:安裝時:1.分別獲取CPU序列號、硬盤序列號、網(wǎng)卡mac地址2.組成序列號C3.用戶將序列號C發(fā)給軟件供應(yīng)商。軟件供應(yīng)商通過注冊機(jī)采用私鑰D加密序列號C后生成注冊碼F。軟件供應(yīng)商將注冊碼F發(fā)給用戶。4.軟件提示用戶輸入注冊碼5.用戶輸入注冊碼F,6.軟件注冊模塊采用公鑰E對注冊碼F解碼后生成G(即:用戶機(jī)器特征信息)。7然后軟件注冊模塊提取用戶機(jī)器的CPU序列號、硬盤序列號、網(wǎng)卡mac地址信息,進(jìn)行編碼。將編碼的結(jié)果與G進(jìn)行比較,如果相等則用戶合法,完成授權(quán),將用戶輸入的注冊碼F保存在配置文件中(配置文件可再加密),否則授權(quán)失敗,提示重新輸入注冊碼。注冊碼驗證通過之后,再次啟動時:1.從配置文件中讀出F2.軟件注冊模塊采用公鑰E對注冊碼F解碼后生成G(即:用戶機(jī)器特征信息).
3:然后軟件注冊模塊提取用戶機(jī)器的CPU序列號、硬盤序列號、網(wǎng)卡mac地址進(jìn)行編碼。將編碼的結(jié)果與G進(jìn)行比較,如果相等則用戶合法,否則提示重新輸入注冊碼。從上面可以看出,這種方法,硬件更換是個無法避免的風(fēng)險,一旦硬件因為故障或者升級,CPU序列號、硬盤序列號、網(wǎng)卡mac地址發(fā)生變化,原來的注冊碼就失效了。軟件就無法使用了。對于用戶來說,可能并不 知道硬件更換會帶來這么嚴(yán)重的問題。這時候,用戶不得不緊急向軟件供應(yīng)商求救。由軟件供應(yīng)商來提供新的注冊碼。對于序列號、注冊碼的方式,經(jīng)常會碰到一個問題,那就是常常因為機(jī)器維修或者升級而導(dǎo)致驗證失敗。通常,除非很專業(yè)的用戶,一般用戶并不知道或者會忘記機(jī)器硬件更換(升級或者升級)了,注冊碼就會無法使用而導(dǎo)致軟件無法使用。當(dāng)他們發(fā)現(xiàn)無法使用時,又可能因為軟件供應(yīng)商不在工作時間等原因,無法及時聯(lián)系到軟件供應(yīng)商,來更換注冊碼。無論是硬件狗還是序列號、注冊碼方式,都存在被黑客或者其他人員破解的可能性。
發(fā)明內(nèi)容
(一)技術(shù)問題本發(fā)明要解決的問題是如何降低黑客或者其他人員破解的可能性。(二)技術(shù)方案本發(fā)明提供一種用于軟件許可的注冊碼生成方法,該方法包括:分別獲取客戶設(shè)備所包含的η個關(guān)鍵部件的序列號或者標(biāo)識,以生成η個對應(yīng)的序列號,其中η為大于等于I的整數(shù);對所述η個序列號進(jìn)行組合,生成一個組合序列號;注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成η個序列號,并將對拆分后的η個序列號進(jìn)行加密生成η個注冊碼;對所述η個注冊碼進(jìn)行組合,生成一個組合注冊碼??蛇x的,所述關(guān)鍵部件為CPU、硬盤和/或網(wǎng)卡??蛇x的,η等于3。可選的,采用私鑰分別對所述拆分后的η個序列號進(jìn)行加密。本發(fā)明還提供一種基于上述注冊碼生成方法的軟件許可控制方法,所述軟件許可控制方法包括:提示用戶輸入組合注冊碼;用戶輸入所述組合注冊碼后,將所述注冊碼拆分成η個注冊碼,并對所述拆分后的注冊碼進(jìn)行解碼,生成η個特征信息;提取η個關(guān)鍵部件的序列號或者標(biāo)識并進(jìn)行編碼;將所述編碼結(jié)果分別與相應(yīng)的特征信息進(jìn)行比較,來判斷用戶是否合法??蛇x的,利用公鑰對所述拆分后的注冊碼進(jìn)行所述解碼。可選的,如果全部相等,則用戶合法,如果部分相等,則提醒用戶在規(guī)定時間或者在使用軟件規(guī)定次數(shù)內(nèi)獲取新的注冊碼進(jìn)行重新注冊,如果全部不相等,則用戶不合法??蛇x的,在部分相等的情況下,用戶進(jìn)入軟件系統(tǒng),僅允許用戶使用基本功能,限制使用聞級功能??蛇x的,在進(jìn)行所述提醒后,累計使用時間和/或使用次數(shù),在達(dá)到規(guī)定的時間和/或者次數(shù)后,不再允許使用軟件。本發(fā)明還提供一種用于軟件許可的注冊碼生成系統(tǒng),該系統(tǒng)包括:獲取單元,用于分別獲取客戶設(shè)備所包含的η個關(guān)鍵部件的序列號或者標(biāo)識,以生成η個對應(yīng)的序列號,其中η為大于等于I的整數(shù);第一組合單元,對所述η個序列號進(jìn)行組合,生成一個組合序列號;
拆分單元,注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成η個序列號,并將對拆分后的η個序列號進(jìn)行加密生成η個注冊碼;第二組合單元,對所述η個注冊碼進(jìn)行組合,生成一個組合注冊碼。本發(fā)明還提供一種基于上述注冊碼生成系統(tǒng)的軟件許可控制裝置,所述軟件許可控制裝置包括:提示單元,提示用戶輸入組合注冊碼;拆分單元,用于輸入所述組合注冊碼后,將所述注冊碼拆分成η個注冊碼,并對所述拆分后的注冊碼進(jìn)行解碼,生成η個特征信息;提取單元,提取η個關(guān)鍵部件的序列號或者標(biāo)識并進(jìn)行編碼;比較單元,用于將所述編碼結(jié)果分別與相應(yīng)的特征信息進(jìn)行比較,來判斷用戶是否合法。(三)技術(shù)效果利用本發(fā)明生成的注冊碼,降低了黑客或者其他人員破解的可能性。
圖1表示本發(fā)明提出的用于軟件許可的注冊碼生成方法;圖2表示本發(fā)明提出的軟件許可控制方法的流程圖;圖3表示本發(fā)明提出的用于軟件許可的注冊碼生成系統(tǒng)的結(jié)構(gòu)圖;圖4表示本發(fā)明提出的軟件許可控制裝置的結(jié)構(gòu)圖。
具體實施例方式實施例1:本實施例提供一種用于軟件許可的注冊碼生成方法,如圖1所示,該方法包括:S1.分別獲取客戶設(shè)備所包含的η個關(guān)鍵部件的序列號或者標(biāo)識,以生成η個對應(yīng)的序列號,其中η為大于等于I的整數(shù);S2.對所述η個序列號進(jìn)行組合,生成一個組合序列號;S3.注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成η個序列號,并將對拆分后的η個序列號進(jìn)行加密生成η個注冊碼;S4.對所述η個注冊碼進(jìn)行組合,生成一個組合注冊碼。可選的,所述關(guān)鍵部件為CPU、硬盤和/或網(wǎng)卡??蛇x的,η等于3??蛇x的,采用私鑰分別對所述拆分后的η個序列號進(jìn)行加密。實施例2本發(fā)明還提供一種基于實施例1所述的注冊碼生成方法的軟件許可控制方法,如圖2所示,所述軟件許可控制方法包括:SI,提示用戶輸入組合注冊碼;S2’用戶輸入所述組合注冊碼后,將所述注冊碼拆分成η個注冊碼,并對所述拆分后的注冊碼進(jìn)行解碼,生成η個特征信息;S3’提取η個關(guān)鍵部件的序列號或者標(biāo)識并進(jìn)行編碼;
S4’將所述編碼結(jié)果分別與相應(yīng)的特征信息進(jìn)行比較,來判斷用戶是否合法。可選的,利用公鑰對所述拆分后的注冊碼進(jìn)行所述解碼。可選的,如果全部相等,則用戶合法,如果部分相等,則提醒用戶在規(guī)定時間或者在使用軟件規(guī)定次數(shù)內(nèi)獲取新的注冊碼進(jìn)行重新注冊,如果全部不相等,則用戶不合法??蛇x的,在部分相等的情況下,用戶進(jìn)入軟件系統(tǒng),僅允許用戶使用基本功能,限制使用聞級功能??蛇x的,在進(jìn)行所述提醒后,累計使用時間和/或使用次數(shù),在達(dá)到規(guī)定的時間和/或者次數(shù)后,不再允許使用軟件。實施例3本實施例給出根據(jù)CPU、硬盤、網(wǎng)卡的序列號或者地址的注冊碼生成方法以及軟件許可方法,具體要點如下:I)對CPU序列號、硬盤序列號、網(wǎng)卡mac地址采用私鑰D分別進(jìn)行加密,實質(zhì)上形成3個注冊碼,分別對用戶的CPU、硬盤序列號、網(wǎng)卡mac地址進(jìn)行驗證。如果只有2個或者I個正確,就認(rèn)為是用戶升級或者維修導(dǎo)致,允許用戶繼續(xù)使用一段時間或者一定的次數(shù)。分別加密,形成3個注冊碼的過程對用戶透明,因為3個注冊碼被拼接成一個長的注冊碼,用戶可能以為只有一個注冊碼。(2)在硬盤因為維修或者升級而進(jìn)行更換后,如果更換了 CPU、硬盤或者網(wǎng)卡,在驗證過程中,只要這3個注冊碼中,有K項(K為I或者2)通過,則允許在一定時間或者使用次數(shù)的范圍內(nèi),繼續(xù)使用。給用戶一個緩沖時間,讓用戶在重新申請注冊碼的過程中不影響軟件使用。(3)將軟件功能分為2類,一類是基本功能,即緊急、重要功能,例如,最基本的路測功能。一類是高級功能,即不緊急,但是給使用者帶來方便的功能。在對CPU序列號、硬盤序列號、網(wǎng)卡mac地址,全部驗證成功時,開放全部功能。只有部分驗證成功時,只開放第一類功能(基本功能)。既不影響用戶的緊急使用,又促使用戶因為無法使用高級功能而聯(lián)系供應(yīng)商重新進(jìn)行注冊。具體的安裝過程以及驗證過程如下:一:安裝步驟:1.分別獲取CPU序列號、硬盤序列號、網(wǎng)卡mac地址2.分別生成3個序列號Cl、C2、C3,然后拼接起來,形成一個序列號C。3.用戶將序列號C發(fā)給軟件供應(yīng)商。軟件供應(yīng)商的注冊機(jī)將C重新分拆成Cl、C2、C3,然后采用私鑰D分別加密序列號Cl、C2、C3后生成注冊碼F1、F2、F3。然后注冊機(jī)將Fl、F2、F3拼接起來,形成注冊碼F,軟件供應(yīng)商將注冊碼F發(fā)給用戶。4.提示用戶輸入注冊碼5.用戶輸入注冊碼F,6.軟件注冊模塊將注冊碼F分拆成F1、F2、F3采用公鑰E對注冊碼F1、F2、F3解碼后生成61、62、63(即:用戶機(jī)器特征信息)。7然后軟件注冊模塊提取用戶機(jī)器的CPU序列號、硬盤序列號、網(wǎng)卡mac地址,進(jìn)行編碼。將編碼的結(jié)果與G1、G2、G3進(jìn)行比較,如果全部相等則用戶合法,完成授權(quán),將用戶輸入的注冊碼F保存在配置文件中(配置文件可再加密),如果不一致,則授權(quán)失敗,提示重新輸入注冊碼。二:成功安裝之后,啟動的驗證過程1.從配置文件中讀出F2.軟件注冊模塊將注冊碼F分拆成F1、F2、F3采用公鑰E對注冊碼F1、F2、F3解碼后生成61、62、63(即:用戶機(jī)器特征信息)。3:然后軟件注冊模塊提取用戶機(jī)器的CPU序列號、硬盤序列號、網(wǎng)卡mac地址進(jìn)行編碼。將編碼的結(jié)果(C1、C2、C3)與G1、G2、G3進(jìn)行比較。根據(jù)比較結(jié)果進(jìn)入下面的分支之一:3.1如果全部相等(C1==G1、C2==G2、C3==G3)則用戶合法。3.2否則,如果只是部分驗證通過,即只有K個(K為I或者2)相等,則認(rèn)為是更換了的硬件導(dǎo)致的。此時,提醒用戶在規(guī)定時間內(nèi)獲取新的注冊碼進(jìn)行重新注冊。然后累計部分驗證通過情況下的使用時間(Dl)及使用次數(shù)(Count),進(jìn)入系統(tǒng),同時限制高級功能的使用,只能使用一般功能。(如果部分驗證情況下的累計使用時間或者使用次數(shù)超過規(guī)定的值,則一般功能也無法再使用,即無法再使用該軟件。)3.3否則,驗證失敗,提示用戶進(jìn)行注冊,無法使用軟件。使用了新的處理流程后,因為維修或者升級,更換了 CPU,或者更換了網(wǎng)卡,在一定時間或者次數(shù)的范圍內(nèi),用戶可以繼續(xù)使用軟件的一般功能,只要用戶在這個比較寬裕的窗口期內(nèi),更新了軟件驗證碼,就不會影響到正常的使用。如果更換了硬盤,則如果用戶使用ghost恢復(fù)原來的系統(tǒng),或者win7的備份來恢復(fù)原來的系統(tǒng),只要不重新安裝,也同樣可以在一定時間或者次數(shù)的范圍內(nèi)繼續(xù)使用該軟件。 至于哪些功能是高級功能,哪些功能是基本功能,可以在開發(fā)過程中通過配置文件進(jìn)行定制。實施例4本實施例提供一種用于軟件許可的注冊碼生成系統(tǒng),如圖3所示,該系統(tǒng)包括:獲取單元1,用于分別獲取客戶設(shè)備所包含的η個關(guān)鍵部件的序列號或者標(biāo)識,以生成η個對應(yīng)的序列號,其中η為大于等于I的整數(shù);第一組合單元2,對所述η個序列號進(jìn)行組合,生成一個組合序列號;拆分單元3,注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成η個序列號,并將對拆分后的η個序列號進(jìn)行加密生成η個注冊碼;第二組合單元4,對所述η個注冊碼進(jìn)行組合,生成一個組合注冊碼。本實施例還提供一種基于上述注冊碼生成系統(tǒng)的軟件許可控制裝置,如圖4所示,所述軟件許可控制裝置包括:提示單元Γ,提示用戶輸入組合注冊碼;拆分單元2 ’,用于輸入所述組合注冊碼后,將所述注冊碼拆分成η個注冊碼,并對所述拆分后的注冊碼進(jìn)行解碼,生成η個特征信息;提取單元3’,提取η個關(guān)鍵部件的序列號或者標(biāo)識并進(jìn)行編碼;比較單元4’,用于將所述編碼結(jié)果分別與相應(yīng)的特征信息進(jìn)行比較,來判斷用戶是否合法。
總之,利用本發(fā)明,用戶在硬件維修或者升級后,原來許可的軟件可以在一定時間和次數(shù)的范圍內(nèi)繼續(xù)使用軟件的基本功能。對用戶的日常使用影響比較小。同時,因為無法使用高級功能,以及通過使用時間和次數(shù)的限制,而促使用戶重新注冊。兼顧了用戶和供應(yīng)商的利益。另外,對各個硬件的注冊碼和序列號都進(jìn)行了拼接,雖然是分別驗證,但用戶看不出和傳統(tǒng)注冊碼方式的區(qū)別,沒有給用戶增加額外的工作。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種用于軟件許可的注冊碼生成方法,其特征在于,該方法包括:分別獲取客戶設(shè)備所包含的η個關(guān)鍵部件的序列號或者標(biāo)識,以生成η個對應(yīng)的序列號,其中η為大于等于I的整數(shù); 對所述η個序列號進(jìn)行組合,生成一個組合序列號; 注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成η個序列號,并將對拆分后的η個序列號進(jìn)行加密生成η個注冊碼; 對所述η個注冊碼進(jìn)行組合,生成一個組合注冊碼。
2.按權(quán)利要求1所述的方法,其特征還在于:所述關(guān)鍵部件為CPU、硬盤和/或網(wǎng)卡。
3.按權(quán)利要求2所述的方法,其特征還在于:n等于3。
4.按權(quán)利要求1所述的方法,其特征還在于:采用私鑰分別對所述拆分后的η個序列號進(jìn)行加密。
5.一種基于權(quán)利要求1-4任一項所述的注冊碼生成方法的軟件許可控制方法,所述軟件許可控制方法包括: 提示用戶輸入組合注冊碼; 用戶輸入所述組合注冊碼后,將所述注冊碼拆分成η個注冊碼,并對所述拆分后的注冊碼進(jìn)行解碼,生成η個特征信息; 提取η個關(guān)鍵部件的序列號或者標(biāo)識并進(jìn)行編碼; 將所述編碼結(jié)果分別與相應(yīng)的特征信息進(jìn)行比較,來判斷用戶是否合法。
6.按權(quán)利要求5所述的方法,其特征還在于:利用公鑰對所述拆分后的注冊碼進(jìn)行所述解碼。
7.按權(quán)利要求5所述的方法,其特征還在于:如果全部相等,則用戶合法,如果部分相等,則提醒用戶在規(guī)定時間或者在使用軟件規(guī)定次數(shù)內(nèi)獲取新的注冊碼進(jìn)行重新注冊,如果全部不相等,則用戶不合法。
8.按權(quán)利要求7所述的方法,其特征還在于:在部分相等的情況下,用戶進(jìn)入軟件系統(tǒng),僅允許用戶使用基本功能,限制使用高級功能。
9.按權(quán)利要求7或8所述的方法,其特征還在于:在進(jìn)行所述提醒后,累計使用時間和/或使用次數(shù),在達(dá)到規(guī)定的時間和/或者次數(shù)后,不再允許使用軟件。
10.一種用于軟件許可的注冊碼生成系統(tǒng),其特征在于,該系統(tǒng)包括:獲取單元,用于分別獲取客戶設(shè)備所包含的η個關(guān)鍵部件的序列號或者標(biāo)識,以生成η個對應(yīng)的序列號,其中η為大于等于I的整數(shù); 第一組合單元,對所述η個序列號進(jìn)行組合,生成一個組合序列號; 拆分單元,注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成η個序列號,并將對拆分后的η個序列號進(jìn)行加密生成η個注冊碼; 第二組合單元,對所述η個注冊碼進(jìn)行組合,生成一個組合注冊碼。
11.一種基于權(quán)利要求10所述的注冊碼生成系統(tǒng)的軟件許可控制裝置,所述軟件許可控制裝置包括: 提示單元,提示用戶輸入組合注冊碼; 拆分單元,用于輸入所述組合注冊碼后, 將所述注冊碼拆分成η個注冊碼,并對所述拆分后的注冊碼進(jìn)行解碼,生成η個特征信息;提取單元,提取η個關(guān)鍵部件的序列號或者標(biāo)識并進(jìn)行編碼; 比較單元,用于將 所述編碼結(jié)果分別與相應(yīng)的特征信息進(jìn)行比較,來判斷用戶是否合 法。
全文摘要
本發(fā)明提供一種用于軟件許可的注冊碼生成方法以及基于上述注冊碼生成方法的軟件許可控制方法,該注冊碼生成方法包括分別獲取客戶設(shè)備所包含的n個關(guān)鍵部件的序列號或者標(biāo)識,以生成n個對應(yīng)的序列號,其中n為大于等于1的整數(shù);對所述n個序列號進(jìn)行組合,生成一個組合序列號;注冊機(jī)接收所述組合序列號,根據(jù)所述組合序列號將其重新拆分成n個序列號,并將對拆分后的n個序列號進(jìn)行加密生成n個注冊碼;對所述n個注冊碼進(jìn)行組合,生成一個組合注冊碼。利用本發(fā)明生成的注冊碼,降低了黑客或者其他人員破解的可能性。
文檔編號G06F21/12GK103093129SQ20131000831
公開日2013年5月8日 申請日期2013年1月9日 優(yōu)先權(quán)日2013年1月9日
發(fā)明者余再躍 申請人:上海大唐移動通信設(shè)備有限公司, 大唐移動通信設(shè)備有限公司