軟件注冊(cè)方法和裝置,注冊(cè)碼生成方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種軟件注冊(cè)方法和裝置,注冊(cè)碼生成方法和裝置。
【背景技術(shù)】
[0002]傳統(tǒng)軟件注冊(cè)方法有多種,包括注冊(cè)碼注冊(cè)、加密鎖注冊(cè)、授權(quán)文件注冊(cè)等,其中注冊(cè)碼注冊(cè)最為便捷,因而使用更為普遍。常用的注冊(cè)碼注冊(cè)方法中,為了限制注冊(cè)碼只能在一臺(tái)電腦上使用,通常是將電腦的硬盤(pán)序列號(hào)或網(wǎng)卡MAC地址或CPU序列號(hào)等具有唯一性的序列號(hào)作為機(jī)器編碼,將用戶(hù)注冊(cè)信息與機(jī)器編碼聯(lián)合生成注冊(cè)碼。用戶(hù)利用上述注冊(cè)碼進(jìn)行軟件注冊(cè)時(shí),軟件會(huì)自動(dòng)獲取當(dāng)前進(jìn)行注冊(cè)的電腦的特征信息,進(jìn)而與注冊(cè)碼中的機(jī)器編碼信息進(jìn)行匹配,以判斷當(dāng)前注冊(cè)的電腦是否是被授權(quán)的那臺(tái)電腦。當(dāng)判斷通過(guò)后,將注冊(cè)信息在注冊(cè)電腦上進(jìn)行對(duì)應(yīng)的存儲(chǔ),從而完成軟件注冊(cè)。
[0003]然而,隨著技術(shù)的發(fā)展,電腦上的硬盤(pán)序列號(hào)、網(wǎng)卡MAC地址、CPU序列號(hào)等這些組成機(jī)器編碼要素的字符可以被人為修改,因此,在使用傳統(tǒng)注冊(cè)碼注冊(cè)方法進(jìn)行軟件注冊(cè)時(shí),若用戶(hù)人為修改當(dāng)前進(jìn)行注冊(cè)的電腦上的硬盤(pán)序列號(hào)等機(jī)器編碼信息時(shí),就可以實(shí)現(xiàn)用同樣的注冊(cè)碼在不同的電腦上進(jìn)行軟件注冊(cè),因而出現(xiàn)注冊(cè)碼的重復(fù)使用。此外,在不聯(lián)網(wǎng)的情況下,軟件會(huì)通過(guò)注冊(cè)文件直接存儲(chǔ)使用過(guò)的注冊(cè)碼,而存放歷史注冊(cè)碼的注冊(cè)文件容易被覆蓋,用戶(hù)可以在軟件過(guò)期后,對(duì)注冊(cè)文件進(jìn)行覆蓋從而重復(fù)使用該注冊(cè)碼。
[0004]因此,如何防止注冊(cè)碼被重復(fù)使用是需要解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)上述問(wèn)題,提供一種能夠防止注冊(cè)碼被重復(fù)使用的軟件注冊(cè)方法和裝置、注冊(cè)碼生成方法和裝置。
[0006]—種軟件注冊(cè)方法,所述方法包括:
[0007]接收注冊(cè)界面運(yùn)行指令,根據(jù)所述注冊(cè)界面運(yùn)行指令運(yùn)行注冊(cè)界面并獲取軟件注冊(cè)終端對(duì)應(yīng)的GUID碼,根據(jù)所述GUID碼確定機(jī)器編碼;
[0008]接收注冊(cè)指令,根據(jù)所述注冊(cè)指令獲取輸入的最終注冊(cè)碼;
[0009]將所述機(jī)器編碼作為密鑰對(duì)所述最終注冊(cè)碼進(jìn)行解密得到原始注冊(cè)碼;
[0010]對(duì)所述原始注冊(cè)碼進(jìn)行解析得到注冊(cè)信息,將所述注冊(cè)信息進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0011]在其中一個(gè)實(shí)施例中,從根據(jù)所述注冊(cè)界面運(yùn)行指令運(yùn)行注冊(cè)界面到將所述機(jī)器編碼作為密鑰對(duì)所述最終注冊(cè)碼進(jìn)行解密的過(guò)程中,保持注冊(cè)界面一直處于當(dāng)前運(yùn)行界面狀態(tài)。
[0012]在其中一個(gè)實(shí)施例中,所述機(jī)器編碼是所述GUID碼本身或?qū)λ鯣UID碼進(jìn)行處理后得到的機(jī)器編碼。
[0013]在其中一個(gè)實(shí)施例中,所述注冊(cè)信息包括注冊(cè)類(lèi)型標(biāo)識(shí)及對(duì)應(yīng)的限制值。
[0014]在其中一個(gè)實(shí)施例中,在所述接收注冊(cè)指令的步驟之前,還包括:
[0015]獲取輸入的注冊(cè)信息;
[0016]根據(jù)所述機(jī)器編碼及所述注冊(cè)信息生成注冊(cè)碼生成請(qǐng)求發(fā)送至服務(wù)器,使所述服務(wù)器根據(jù)所述機(jī)器編碼及所述注冊(cè)信息生成所述原始注冊(cè)碼,并將所述機(jī)器編碼作為密鑰對(duì)所述原始注冊(cè)碼進(jìn)行加密生成所述最終注冊(cè)碼;
[0017]接收所述服務(wù)器返回的所述最終注冊(cè)碼,并將所述最終注冊(cè)碼進(jìn)行顯示。
[0018]在其中一個(gè)實(shí)施例中,所述將所述注冊(cè)信息進(jìn)行關(guān)聯(lián)存儲(chǔ)的步驟,包括:
[0019]將所述注冊(cè)信息加密并存儲(chǔ)在注冊(cè)表預(yù)設(shè)存儲(chǔ)路徑下;和/或
[0020]將所述注冊(cè)信息存儲(chǔ)在軟件根目錄下的對(duì)應(yīng)文件中。
[0021]—種軟件注冊(cè)裝置,所述裝置包括:
[0022]機(jī)器編碼確定模塊,用于接收注冊(cè)界面運(yùn)行指令,根據(jù)所述注冊(cè)界面運(yùn)行指令運(yùn)行注冊(cè)界面并獲取軟件注冊(cè)終端對(duì)應(yīng)的GUID碼,根據(jù)所述GUID碼確定機(jī)器編碼;
[0023]獲取模塊,用于接收注冊(cè)指令,根據(jù)所述注冊(cè)指令獲取輸入的最終注冊(cè)碼;
[0024]解密模塊,用于將所述機(jī)器編碼作為密鑰對(duì)所述最終注冊(cè)碼進(jìn)行解密得到原始注冊(cè)碼;
[0025]關(guān)聯(lián)存儲(chǔ)模塊,用于對(duì)所述原始注冊(cè)碼進(jìn)行解析得到注冊(cè)信息,將所述注冊(cè)信息進(jìn)行關(guān)聯(lián)存儲(chǔ)。
[0026]在其中一個(gè)實(shí)施例中,從根據(jù)所述注冊(cè)界面運(yùn)行指令運(yùn)行注冊(cè)界面到將所述機(jī)器編碼作為密鑰對(duì)所述最終注冊(cè)碼進(jìn)行解密的過(guò)程中,保持注冊(cè)界面一直處于當(dāng)前運(yùn)行界面狀態(tài)。
[0027]在其中一個(gè)實(shí)施例中,所述機(jī)器編碼是所述GUID碼本身或?qū)λ鯣UID碼進(jìn)行處理后得到的機(jī)器編碼。
[0028]在其中一個(gè)實(shí)施例中,所述注冊(cè)信息包括注冊(cè)類(lèi)型標(biāo)識(shí)及對(duì)應(yīng)的限制值。
[0029]在其中一個(gè)實(shí)施例中,所述獲取模塊還用于獲取輸入的注冊(cè)信息;
[0030]所述裝置還包括:
[0031]注冊(cè)碼生成請(qǐng)求模塊,用于根據(jù)所述機(jī)器編碼及所述注冊(cè)信息生成注冊(cè)碼生成請(qǐng)求發(fā)送至服務(wù)器,使所述服務(wù)器根據(jù)所述機(jī)器編碼及所述注冊(cè)信息生成所述原始注冊(cè)碼,并將所述機(jī)器編碼作為密鑰對(duì)所述原始注冊(cè)碼進(jìn)行加密生成所述最終注冊(cè)碼;
[0032]顯示模塊,用于接收所述服務(wù)器返回的所述最終注冊(cè)碼,并將所述最終注冊(cè)碼進(jìn)行顯示。
[0033]在其中一個(gè)實(shí)施例中,所述關(guān)聯(lián)存儲(chǔ)模塊還用于將所述注冊(cè)信息加密并存儲(chǔ)在注冊(cè)表預(yù)設(shè)存儲(chǔ)路徑下;和/或?qū)⑺鲎?cè)信息存儲(chǔ)在軟件根目錄下的對(duì)應(yīng)文件中。
[0034]上述軟件注冊(cè)方法和裝置,必須使用與加密密鑰一致的機(jī)器編碼作為解密密鑰才能夠成功解密最終注冊(cè)碼,而基于GUID碼會(huì)隨界面顯示狀態(tài)的變化被終端進(jìn)行更新的特性,若使注冊(cè)界面處于非當(dāng)前運(yùn)行界面狀態(tài)后再恢復(fù)至當(dāng)前運(yùn)行界面狀態(tài),那么軟件注冊(cè)終端會(huì)更新GUID碼,從而機(jī)器編碼相應(yīng)更新,進(jìn)而導(dǎo)致解密密鑰機(jī)器編碼與加密密鑰機(jī)器編碼不一致,解密失敗。因此,在使用已注冊(cè)過(guò)的最終注冊(cè)碼進(jìn)行重復(fù)注冊(cè)時(shí),無(wú)法再獲取到與加密密鑰相同的機(jī)器編碼來(lái)進(jìn)行解密,且由于目前GUID碼生成過(guò)程是無(wú)法人為干擾和修改的,因此也不可能將機(jī)器編碼修改成與加密密鑰一致,從而防止使用已注冊(cè)過(guò)的注冊(cè)碼進(jìn)行重復(fù)注冊(cè)。
[0035]一種注冊(cè)碼生成方法,所述方法包括:
[0036]獲取軟件注冊(cè)終端對(duì)應(yīng)的機(jī)器編碼,所述機(jī)器編碼根據(jù)所述軟件注冊(cè)終端對(duì)應(yīng)的⑶ID碼確定;
[0037]獲取注冊(cè)信息;
[0038]根據(jù)所述機(jī)器編碼及注冊(cè)信息生成原始注冊(cè)碼;
[0039]將所述機(jī)器編碼作為密鑰對(duì)所述原始注冊(cè)碼進(jìn)行加密生成最終注冊(cè)碼。
[0040]在其中一個(gè)實(shí)施例中,所述注冊(cè)信息包括注冊(cè)類(lèi)型標(biāo)識(shí)及對(duì)應(yīng)的限制值。
[0041 ]在其中一個(gè)實(shí)施例中,所述獲取軟件注冊(cè)終端對(duì)應(yīng)的機(jī)器編碼的步驟,包括:
[0042]接收軟件注冊(cè)終端發(fā)送的注冊(cè)碼生成請(qǐng)求,獲取所述注冊(cè)碼生成請(qǐng)求中攜帶的軟件注冊(cè)終端對(duì)應(yīng)的機(jī)器編碼;或
[0043]獲取輸入的軟件注冊(cè)終端對(duì)應(yīng)的機(jī)器編碼。
[0044]一種注冊(cè)碼生成裝置,所述裝置包括:
[0045]機(jī)器編碼獲取模塊,用于獲取軟件注冊(cè)終端對(duì)應(yīng)的機(jī)器編碼,所述機(jī)器編碼根據(jù)所述軟件注冊(cè)終端對(duì)應(yīng)的GUID碼確定;
[0046]注冊(cè)信息獲取模塊,用于獲取注冊(cè)信息;
[0047]注冊(cè)碼生成模塊,用于根據(jù)所述機(jī)器編碼及注冊(cè)信息生成原始注冊(cè)碼;將所述機(jī)器編碼作為密鑰對(duì)所述原始注冊(cè)碼進(jìn)行加密生成最