本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種軟件版權(quán)保護(hù)方法、客戶端、服務(wù)端以及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的軟件開發(fā)商開發(fā)了各種客戶端工具軟件和客戶端應(yīng)用軟件,用戶的需求也是越來越多,然而軟件開發(fā)是一項(xiàng)巨大且耗時(shí)耗力的工作,一個(gè)工具軟件和應(yīng)用軟件要開發(fā)出來,需要軟件開發(fā)商付出較大的成本。因此,為了保護(hù)開發(fā)出來的軟件應(yīng)用,很多軟件開發(fā)商采用注冊(cè)碼機(jī)制,即需要消費(fèi)者購買注冊(cè)碼才能使用。
然而,大多數(shù)軟件都是采用本地算法加密和生成注冊(cè)碼的方式,這種注冊(cè)碼機(jī)制安全層次不高,容易被破解,不利于軟件開發(fā)商的收益。現(xiàn)實(shí)生活中,很多軟件都有被破解了的注冊(cè)碼,例如,典型的盜版windows,盜版photoshop,盜版autocad等等。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種軟件版權(quán)保護(hù)方法、客戶端、服務(wù)端以及系統(tǒng),用于通過雙校驗(yàn)保險(xiǎn)機(jī)制解決市面上注冊(cè)信息容易被反編譯的問題,實(shí)現(xiàn)對(duì)企業(yè)類、消費(fèi)者類應(yīng)用產(chǎn)品端的軟件的保護(hù)。
有鑒于此,本發(fā)明第一方面提供一種軟件版權(quán)保護(hù)方法,應(yīng)用于客戶端,可包括:
在接收到針對(duì)第一軟件的使用指令時(shí),獲取第一軟件的注冊(cè)信息;
對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
若客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功,則啟動(dòng)第一軟件。
進(jìn)一步的,注冊(cè)信息包括注冊(cè)碼或序列號(hào),序列號(hào)為根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到。
進(jìn)一步的,若注冊(cè)信息為序列號(hào),對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn)包括:
將序列號(hào)發(fā)送至服務(wù)端,以使得服務(wù)端查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn),若注冊(cè)碼校驗(yàn)成功,則向客戶端返回注冊(cè)碼;
接收服務(wù)端返回的注冊(cè)碼;
對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
進(jìn)一步的,在啟動(dòng)第一軟件后,方法還包括:
確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照預(yù)設(shè)校驗(yàn)周期和第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并按照預(yù)設(shè)校驗(yàn)周期將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法后,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
若客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功,則保持第一軟件的使用狀態(tài);
其中,第一預(yù)設(shè)算法為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
本發(fā)明第二方面提供一種軟件版權(quán)保護(hù)方法,應(yīng)用于服務(wù)端,可包括:
獲取第一軟件的軟件信息;
將軟件信息生成注冊(cè)信息;
存儲(chǔ)注冊(cè)信息。
進(jìn)一步的,在按將軟件信息生成注冊(cè)信息之后,方法還包括:
按照預(yù)設(shè)方式下發(fā)注冊(cè)信息。
進(jìn)一步的,在按照預(yù)設(shè)方式下發(fā)注冊(cè)信息之后,方法還包括:
接收客戶端發(fā)送的注冊(cè)信息;
對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
若校驗(yàn)成功,則通知客戶端注冊(cè)信息校驗(yàn)成功。
進(jìn)一步的,注冊(cè)信息包括注冊(cè)碼或序列號(hào),序列號(hào)為根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到。
進(jìn)一步的,若注冊(cè)信息為序列號(hào),對(duì)注冊(cè)信息進(jìn)行校驗(yàn)包括:
查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼;
若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn);
若校驗(yàn)成功,則發(fā)送注冊(cè)碼至客戶端,以使得客戶端對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
進(jìn)一步的,對(duì)注冊(cè)信息進(jìn)行校驗(yàn)包括:
確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
其中,第一預(yù)設(shè)算法為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
本發(fā)明第三方面提供一種軟件版權(quán)保護(hù)裝置,應(yīng)用于客戶端,可包括:
獲取模塊,用于在接收到針對(duì)第一軟件的使用指令時(shí),獲取第一軟件的注冊(cè)信息;
校驗(yàn)?zāi)K,用于對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
啟動(dòng)模塊,用于當(dāng)客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功時(shí),則啟動(dòng)第一軟件。
進(jìn)一步的,注冊(cè)信息包括注冊(cè)碼或序列號(hào),序列號(hào)為根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到。
進(jìn)一步的,若注冊(cè)信息為序列號(hào),校驗(yàn)?zāi)K,具體用于:
將序列號(hào)發(fā)送至服務(wù)端,以使得服務(wù)端查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn),若校驗(yàn)成功,則向客戶端返回注冊(cè)碼;
接收服務(wù)端返回的注冊(cè)碼;
對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
進(jìn)一步的,校驗(yàn)?zāi)K,還具體用于:
確定不同于第二預(yù)設(shè)算法的第一預(yù)設(shè)算法,按照預(yù)設(shè)校驗(yàn)周期和第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并按照預(yù)設(shè)校驗(yàn)周期將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法后,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
若客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功,則保持第一軟件的使用狀態(tài);
其中,第一預(yù)設(shè)算法為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
本發(fā)明第四方面提供一種軟件版權(quán)保護(hù)裝置,應(yīng)用于服務(wù)端,可包括:
獲取模塊,用于獲取第一軟件的軟件信息;
生成模塊,用于將軟件信息生成注冊(cè)信息;
存儲(chǔ)模塊,用于存儲(chǔ)注冊(cè)信息。
進(jìn)一步的,裝置還包括:
下發(fā)模塊,用于按照預(yù)設(shè)方式下發(fā)注冊(cè)信息。
進(jìn)一步的,裝置還包括:
接收模塊,用于接收客戶端發(fā)送的注冊(cè)信息;
校驗(yàn)?zāi)K,用于對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
通知模塊,用于當(dāng)注冊(cè)信息校驗(yàn)成功時(shí),則通知客戶端注冊(cè)信息校驗(yàn)成功。
進(jìn)一步的,注冊(cè)信息包括注冊(cè)碼或序列號(hào),序列號(hào)為根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到。
進(jìn)一步的,若注冊(cè)信息為序列號(hào),校驗(yàn)?zāi)K,具體用于:
查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼;
若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn),并發(fā)送注冊(cè)碼至客戶端,以使得客戶端對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
進(jìn)一步的,校驗(yàn)?zāi)K,具體用于:
確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
其中,第一預(yù)設(shè)算法為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
本發(fā)明第五方面提供一種軟件版權(quán)保護(hù)系統(tǒng),可包括上述第三方面的客戶端以及第四方面的服務(wù)端。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
本發(fā)明提供了一種軟件版權(quán)保護(hù)方法,通過基于客戶端的算法校驗(yàn)以及服務(wù)端的算法校驗(yàn)的雙重保護(hù)模式,可以實(shí)現(xiàn)對(duì)注冊(cè)信息的雙重校驗(yàn),只有雙重校驗(yàn)全部通過,才可以啟動(dòng)第一軟件,從而有利于提高注冊(cè)信息的安全級(jí)別,避免注冊(cè)信息被輕易破解,進(jìn)而可以為軟件開發(fā)商和軟件開發(fā)者的軟件版權(quán)保駕護(hù)航。
附圖說明
圖1為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法一個(gè)實(shí)施例示意圖;
圖2為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法另一實(shí)施例示意圖;
圖3為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法另一實(shí)施例示意圖;
圖4為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法另一實(shí)施例示意圖;
圖5為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)裝置一個(gè)實(shí)施例示意圖;
圖6為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)裝置另一實(shí)施例示意圖;
圖7為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)裝置另一實(shí)施例示意圖;
圖8為本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)裝置另一實(shí)施例示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種軟件版權(quán)保護(hù)方法、客戶端、服務(wù)端以及系統(tǒng),用于通過雙校驗(yàn)保險(xiǎn)機(jī)制解決市面上注冊(cè)信息容易被反編譯的問題,實(shí)現(xiàn)對(duì)企業(yè)類、消費(fèi)者類應(yīng)用產(chǎn)品端的軟件的保護(hù)。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
為便于理解,下面對(duì)本發(fā)明實(shí)施例中的具體流程進(jìn)行描述,請(qǐng)參閱圖1,本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法一個(gè)實(shí)施例包括:
101、在接收到針對(duì)第一軟件的使用指令時(shí),獲取第一軟件的注冊(cè)信息;
本實(shí)施例中,第一軟件的客戶端安裝于終端后,使用者在需要使用第一軟件時(shí),可以點(diǎn)擊該第一軟件的客戶端圖標(biāo),發(fā)出使用指令,客戶端在接收到針對(duì)該第一軟件的使用指令時(shí),可以獲得第一軟件的注冊(cè)碼。
具體的,為了保護(hù)第一軟件的版權(quán),第一軟件需要授權(quán)使用,即使用者需要購買第一軟件的注冊(cè)信息并注冊(cè)第一軟件獲得授權(quán)??蛻舳嗽诮邮盏结槍?duì)第一軟件的使用指令時(shí),可以查詢本地是否保存有第一軟件的注冊(cè)信息,如果沒有,則表明這可能是使用者在客戶端所在終端上第一次使用第一軟件,還未對(duì)第一軟件進(jìn)行注冊(cè),那么可以輸出注冊(cè)窗口,提示使用者輸入注冊(cè)信息進(jìn)行第一軟件的注冊(cè)??蛻舳丝梢越邮帐褂谜咴谠撟?cè)窗口輸入的注冊(cè)信息,該注冊(cè)信息即為第一軟件的注冊(cè)信息;反之,如果本地保存有第一軟件的注冊(cè)碼,則表明使用者之前在客戶端所在終端上可能已經(jīng)使用過第一軟件,并且對(duì)第一軟件進(jìn)行了注冊(cè),則可以直接獲得本地保存的第一軟件的注冊(cè)信息。
例如,假設(shè)終端上安裝有開票精靈軟件的客戶端,該開票精靈軟件是一款實(shí)現(xiàn)自動(dòng)錄入發(fā)票抬頭信息的發(fā)票開具輔助軟件,必須注冊(cè)后才可使用全部功能,若使用者需要啟動(dòng)開票精靈軟件實(shí)現(xiàn)相應(yīng)功能,則可以針對(duì)該開票精靈軟件的客戶端圖標(biāo)發(fā)出使用指令,那么根據(jù)使用者第一次使用或非第一次使用的情況分別獲取開票精靈軟件的注冊(cè)信息。
本實(shí)施例中,第一軟件的注冊(cè)信息可以由服務(wù)端生成后,若第一軟件的注冊(cè)信息由客戶端的使用者購買,則服務(wù)端可以將購買的注冊(cè)信息發(fā)送給客戶端的使用者,或由服務(wù)端的管理人員將注冊(cè)信息轉(zhuǎn)發(fā)至客戶端的使用者,以使得客戶端的使用者可以通過該注冊(cè)信息注冊(cè)第一軟件并獲得第一軟件的授權(quán)。
102、對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
本實(shí)施例中,獲取到第一軟件的注冊(cè)信息后,可以對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并可以將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn)。
具體的,為了加強(qiáng)對(duì)注冊(cè)信息的保護(hù),防止注冊(cè)信息被篡改,可以在本地按照存儲(chǔ)的預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并可以將注冊(cè)信息發(fā)送至服務(wù)端,使得注冊(cè)信息可以在服務(wù)端按照存儲(chǔ)的預(yù)設(shè)算法進(jìn)行校驗(yàn)。在實(shí)際應(yīng)用中,客戶端的校驗(yàn)和服務(wù)端的校驗(yàn)的順序不限定于先后,也可以同時(shí)進(jìn)行,優(yōu)選的,注冊(cè)信息可以為注冊(cè)碼,在該情況下,為了減少服務(wù)端的資源占用,在獲取到第一軟件的注冊(cè)信息后,可以先在客戶端的本地對(duì)注冊(cè)信息進(jìn)行校驗(yàn),校驗(yàn)成功后,再將注冊(cè)信息發(fā)送至服務(wù)端,使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn),反之,若校驗(yàn)失敗,則不發(fā)送注冊(cè)信息至服務(wù)端。
本實(shí)施例中,無論是客戶端對(duì)注冊(cè)信息進(jìn)行校驗(yàn),還是服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn),均可以通過預(yù)設(shè)算法對(duì)注冊(cè)信息的有效信息進(jìn)行校驗(yàn),其中,可以校驗(yàn)有效信息是否正確且有效,例如,注冊(cè)信息的有效信息是否為預(yù)設(shè)的24位,而若注冊(cè)信息的有效信息的有效期時(shí)長為3年,其生成時(shí)間為2016年1月1日,則可以結(jié)合當(dāng)前時(shí)間以及生成時(shí)間,校驗(yàn)注冊(cè)信息的有效信息是否未超過有效期時(shí)長,若注冊(cè)信息的有效信息正確且在有效期內(nèi),則確定校驗(yàn)成功,反之,若注冊(cè)信息的有效信息不正確或不在有效期內(nèi),則確定校驗(yàn)失敗。其中,由于注冊(cè)信息是由服務(wù)端生成,則服務(wù)端的預(yù)設(shè)算法可以和客戶端的預(yù)設(shè)算法一致,或者,客戶端的預(yù)設(shè)算法可以是根據(jù)服務(wù)端的預(yù)設(shè)算法按照特有算法生成的,從而通過客戶端存儲(chǔ)的預(yù)設(shè)算法也可以對(duì)注冊(cè)信息進(jìn)行有效校驗(yàn)。
103、若客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功,則啟動(dòng)第一軟件。
本實(shí)施例中,若注冊(cè)信息在客戶端本地的校驗(yàn)成功,且在服務(wù)端的校驗(yàn)成功,則可以啟動(dòng)第一軟件,使得使用者可以正常使用第一軟件。
可以理解的是,本實(shí)施例中,若客戶端本地的校驗(yàn)失敗或服務(wù)端的校驗(yàn)失敗,則禁用第一軟件,使得使用者無法正常使用第一軟件的功能,進(jìn)一步的,客戶端可以輸出諸如注冊(cè)信息錯(cuò)誤或注冊(cè)信息過期的提醒,以提示使用者購買正確且有效的注冊(cè)信息并獲得第一軟件的授權(quán)。
本實(shí)施例中,通過基于客戶端的算法校驗(yàn)以及服務(wù)端的算法校驗(yàn)的雙重保護(hù)模式,可以實(shí)現(xiàn)對(duì)注冊(cè)信息的雙重校驗(yàn),只有雙重校驗(yàn)全部通過,才可以啟動(dòng)第一軟件,從而有利于提高注冊(cè)信息的安全級(jí)別,避免注冊(cè)信息被輕易破解,進(jìn)而可以為軟件開發(fā)商和軟件開發(fā)者的軟件版權(quán)保駕護(hù)航。
需要說明的是,本實(shí)施例中,注冊(cè)信息可以包括注冊(cè)碼或由注冊(cè)碼進(jìn)行計(jì)算得到的序列號(hào),下面基于注冊(cè)信息的不同形式,對(duì)注冊(cè)信息的生成、下發(fā)在服務(wù)端進(jìn)行具體說明:
請(qǐng)參閱圖2,本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法另一實(shí)施例包括:
201、獲取第一軟件的軟件信息;
本實(shí)施中,為了加強(qiáng)對(duì)第一軟件的注冊(cè)信息的保護(hù),可以在服務(wù)端生成第一軟件的注冊(cè)信息。在生成第一軟件的注冊(cè)信息之前,可以先獲取第一軟件的軟件信息。
具體的,軟件信息可以包括第一軟件的id、子功能、有效期中的至少一種,用來生成不同第一軟件不同子功能不同有效期的注冊(cè)信息,具體可以根據(jù)不同第一軟件的實(shí)際情況進(jìn)行獲取。其中,若第一軟件沒有子功能或有效期限制,則可以不進(jìn)行獲取。此外,有效期可以包括針對(duì)第一軟件的使用有效期,還可以包括針對(duì)第一軟件的一個(gè)或以上的子功能的使用有效期,此處不做限定。
可以理解的是,本實(shí)施例中的軟件信息除了上述說明的內(nèi)容,在實(shí)際應(yīng)用中,還可以包括其它,如第一軟件的版本信息,具體此處不做限定。
在實(shí)際應(yīng)用中,服務(wù)端可以設(shè)有注冊(cè)信息系統(tǒng),管理員通過登錄服務(wù)端的注冊(cè)信息系統(tǒng),可以控制服務(wù)端的注冊(cè)信息系統(tǒng)的使用權(quán)限,而在登錄認(rèn)證之后才能進(jìn)行下一步注冊(cè)信息的生成以及管理登相關(guān)業(yè)務(wù)操作。根據(jù)實(shí)際需要,服務(wù)端的注冊(cè)信息系統(tǒng)支持生成不同第一軟件、或相同第一軟件不同子功能對(duì)應(yīng)的注冊(cè)信息,并支持設(shè)置有效期生成注冊(cè)信息,同時(shí),可以支持單個(gè)注冊(cè)信息生成,也可以支持批量注冊(cè)信息的生成,以在服務(wù)端的注冊(cè)信息系統(tǒng)實(shí)現(xiàn)對(duì)多個(gè)不同的第一軟件的注冊(cè)信息的統(tǒng)一管理。
202、將軟件信息生成注冊(cè)信息;
本實(shí)施例中,獲取第一軟件的軟件信息后,可以將軟件信息生成注冊(cè)信息。
具體的,服務(wù)端可以通過不同于校驗(yàn)注冊(cè)信息的預(yù)設(shè)算法將獲取的第一軟件的軟件信息生成第一軟件的注冊(cè)信息,如可以采用一些特有的加密算法計(jì)算出注冊(cè)信息,在實(shí)際應(yīng)用中,每個(gè)軟件開發(fā)商或者軟件開發(fā)者都可以自行采用自己特有的邏輯開發(fā)一套算法模塊,在按照預(yù)設(shè)算法進(jìn)行注冊(cè)信息的生成時(shí)可以將軟件信息中的有效期加進(jìn)去,比如一年有效期,三年有效期等。此外,也可以將軟件信息中的id或子功能加進(jìn)去,以根據(jù)預(yù)設(shè)算法支持不同第一軟件、或相同第一軟件不同子功能對(duì)應(yīng)的注冊(cè)信息的生成。
本實(shí)施例中,注冊(cè)信息可以包括注冊(cè)碼或根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到的序列號(hào),其中,在將軟件信息生成第一軟件的注冊(cè)碼后,可以還可以根據(jù)諸如md5算法將注冊(cè)碼轉(zhuǎn)換成序列號(hào)。下面對(duì)注冊(cè)碼的生成進(jìn)行說明:
一、注冊(cè)碼密文的確定:
假設(shè)軟性信息中包括第一軟件的id、子功能、以及有效期,則可以用諸如以下述方式確定注冊(cè)碼密文的形式:
kengen&時(shí)間戳&第一軟件的id+有效期時(shí)長^子功能1+有效期時(shí)長^子功能2+有效期時(shí)長^子功能n+有效期時(shí)長,n為正整數(shù)。
其中,注冊(cè)碼密文的說明如下:
1、kengen:根據(jù)第一軟件的id生成的唯一密鑰
kengen算法的規(guī)則:
1)第一軟件的id+固定字符(例如:test)生成md5(如32位md5)
2)奇偶互換
3)首尾調(diào)換
4)去掉m值
5)字母a替換為#字符
可以理解的是,本實(shí)施例中上述說明的算法僅供參考,不同軟件開發(fā)商和軟件開發(fā)者可以根據(jù)第一軟件的情況進(jìn)行算法的調(diào)整或開發(fā)。
2、時(shí)間戳:直接取諸如guid為時(shí)間戳。
3、第一軟件的id+有效期時(shí)長:第一軟件的id標(biāo)識(shí)一個(gè)第一軟件的固定id值,有效期時(shí)長是該第一軟件的有效期。
4、子功能+有效期時(shí)長:
功能1+有效期時(shí)長
功能2+有效期時(shí)長
功能n+有效期時(shí)長
子功能可以標(biāo)識(shí)一個(gè)第一軟件的固定的某個(gè)功能,其有效期時(shí)長則可以時(shí)該第一軟件的子功能的有效期,即假設(shè)第一軟件的有效期時(shí)長為1年,但第一軟件的某個(gè)子功能的有效期時(shí)長可以只為半年,這有利于對(duì)第一軟件的功能進(jìn)行不同有效期的保護(hù),增加軟件開發(fā)商和軟件開發(fā)者的利益,提高其成果價(jià)值。
可以理解的是,本實(shí)施例中的子功能及其有效期屬于可選項(xiàng),可以根據(jù)不同第一軟件的實(shí)際情況考慮是否增加。如果第一軟件沒有子功能有效期限制,可以不增加此節(jié)點(diǎn)。
舉例1(第一軟件包含子功能的有效期限制):
ed55781e98819d03368f5b1ed1&440301192100888&20160906134220&1001+12^17+12^18+12
舉例2(第一軟件不包含子功能的有效期限制):
ed55781e98819d03368f5b1ed1&440301192100888&20160906134220&1001+12
二、注冊(cè)碼的生成:
可以使用des算法對(duì)密文加密,產(chǎn)生注冊(cè)碼。
例如加密后:
7c2b62ed5c6a15b44c523e382f86c7ad61ab1bdd126e79eb448b2d2eb3f86d9ec0e818111333727c50487444a800920bd4db5d491b276d9e23097534435f10f9ec176ce8d1e418f51bb6f2308ffe34a1
進(jìn)一步的,為了有利于注冊(cè)信息的存儲(chǔ)或下發(fā),可以利用諸如md5算法對(duì)注冊(cè)碼進(jìn)行計(jì)算,得到注冊(cè)碼對(duì)應(yīng)的序列號(hào),結(jié)合上述說明的注冊(cè)碼,序列號(hào)如下:
三、序列號(hào):
序列號(hào)為注冊(cè)碼的md5值(16位md5)
例如:a90a1f072bf9c7b0
可以理解的是,在實(shí)際應(yīng)用中,還可以采用其它算法將注冊(cè)碼計(jì)算轉(zhuǎn)換成序列號(hào),只要注冊(cè)碼與序列號(hào)相匹配即可,具體此處不做限定。
203、存儲(chǔ)注冊(cè)信息;
本實(shí)施例中,生成注冊(cè)信息后,可以存儲(chǔ)注冊(cè)信息,實(shí)現(xiàn)對(duì)注冊(cè)信息的查詢、校驗(yàn)、或編輯等功能,以保障當(dāng)前注冊(cè)信息的有效性。
在實(shí)際應(yīng)用中,服務(wù)端可以存儲(chǔ)有不同的第一軟件或相同的第一軟件的一個(gè)或以上的注冊(cè)信息,為了對(duì)其存儲(chǔ)進(jìn)行有序的管理,可以建立第一軟件與注冊(cè)信息的映射關(guān)系,同時(shí),針對(duì)相同的第一軟件,還可以基于子功能或有效期進(jìn)行關(guān)聯(lián)存儲(chǔ)。
需要說明的是,本實(shí)施例中,若注冊(cè)信息為序列號(hào),則在對(duì)序列號(hào)進(jìn)行存儲(chǔ)時(shí),還可以存儲(chǔ)序列號(hào)對(duì)應(yīng)的注冊(cè)碼,以在使用者購買第一軟件的序列號(hào)后,在利用序列號(hào)啟動(dòng)第一軟件時(shí),可以對(duì)序列號(hào)對(duì)應(yīng)的注冊(cè)碼進(jìn)行校驗(yàn),以防止序列號(hào)的篡改。
進(jìn)一步的,本實(shí)施例中,為了使得客戶端的使用者可以獲得第一軟件的授權(quán),那么在客戶端的使用者購買第一軟件的注冊(cè)信息后,在管理員的相應(yīng)操作下,服務(wù)端可以按照預(yù)設(shè)方式下發(fā)注冊(cè)信息,例如,可以采用短信發(fā)送至客戶端的使用者、采用郵件發(fā)送至客戶端的使用者,又或者,管理員可以下載第一軟件的注冊(cè)信息license文件,再將下載的文件發(fā)送給客戶端的使用者,從而客戶端的使用者可以通過該購買的注冊(cè)信息注冊(cè)第一軟件并獲得第一軟件的授權(quán),合法啟動(dòng)并使用第一軟件的相關(guān)功能。其中,注冊(cè)信息下發(fā)后,服務(wù)端可以對(duì)下發(fā)的注冊(cè)信息進(jìn)行標(biāo)識(shí),以和生成但未被使用者購買的注冊(cè)信息進(jìn)行區(qū)分。
更進(jìn)一步的,本實(shí)施例中,為了實(shí)現(xiàn)對(duì)注冊(cè)信息的管理,還可以對(duì)注冊(cè)信息進(jìn)行相應(yīng)的編輯,在實(shí)際應(yīng)用中,服務(wù)端對(duì)注冊(cè)信息進(jìn)行編輯的具體方式可以為:
獲取操作指令;
根據(jù)操作指令對(duì)注冊(cè)信息進(jìn)行相應(yīng)的編輯。
例如,根據(jù)獲取的操作指令,可以根據(jù)操作指令可以編輯注冊(cè)信息的使用者、使用日期、使用者終端的mac地址等信息,以對(duì)購買的注冊(cè)信息與使用者的信息進(jìn)行關(guān)聯(lián)記錄,并可以在對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí),還能夠?qū)κ褂谜叩纳矸菪畔⑦M(jìn)行校驗(yàn),以防止注冊(cè)信息被他人冒名使用,或者也可以根據(jù)操作指令刪除單個(gè)注冊(cè)信息或刪除批量注冊(cè)信息,以釋放服務(wù)端的占用內(nèi)存。
由此,基于上述說明,本實(shí)施例通過提供注冊(cè)信息系統(tǒng),簡(jiǎn)化了注冊(cè)信息的生成過程,提高了注冊(cè)信息的管理和分發(fā)的效率,實(shí)現(xiàn)了集中化、系統(tǒng)化維護(hù)管理注冊(cè)信息。
其中,于服務(wù)端而言,在服務(wù)端下發(fā)注冊(cè)信息后,使用者在客戶端使用該注冊(cè)信息注冊(cè)第一軟件以啟動(dòng)第一軟件時(shí),服務(wù)端還將收到客戶端發(fā)送的注冊(cè)信息,以按照存儲(chǔ)的預(yù)設(shè)算法對(duì)該注冊(cè)信息進(jìn)行校驗(yàn),若校驗(yàn)成功,則需要通知客戶端注冊(cè)信息校驗(yàn)成功,使得客戶端在對(duì)注冊(cè)信息校驗(yàn)成功后,可以啟動(dòng)第一軟件,反之,也需要通知客戶端,使得客戶端禁用第一軟件。由此,通過客戶端以及服務(wù)端的兩次校驗(yàn)后,才能正常使用第一軟件,那么即使破解者通過反編譯篡改代碼邏輯跳過了其中一次校驗(yàn),也會(huì)由于缺少另一次校驗(yàn)的成功驗(yàn)證,而不能正常使用第一軟件,增大了第一軟件被破解的難度系數(shù),可以有效保護(hù)軟件的版權(quán)。
需要說明的是,在服務(wù)端一側(cè),本實(shí)施例中對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的預(yù)設(shè)算法可以根據(jù)生成注冊(cè)信息的預(yù)設(shè)算法進(jìn)行計(jì)算得到,例如,沿用步驟202說明的內(nèi)容,對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的預(yù)設(shè)算法可以根據(jù)kengen算法以及des算法進(jìn)行計(jì)算得到,以能夠?qū)ψ?cè)碼進(jìn)行計(jì)算,得到注冊(cè)信息的有效信息,并實(shí)現(xiàn)對(duì)注冊(cè)信息的有效信息的校驗(yàn)。
可以理解的是,當(dāng)注冊(cè)信息為序列號(hào)時(shí),由于序列號(hào)為根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到,而客戶端沒有存儲(chǔ)序列號(hào)對(duì)應(yīng)的注冊(cè)碼,從而無法對(duì)序列號(hào)進(jìn)行校驗(yàn),則需要先行在服務(wù)端對(duì)序列號(hào)進(jìn)行合法性的校驗(yàn),下面從客戶端一側(cè)進(jìn)行具體說明:
請(qǐng)參閱圖3,本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法另一實(shí)施例包括:
301、在接收到針對(duì)第一軟件的使用指令時(shí),獲取第一軟件的序列號(hào);
本實(shí)施例中,除注冊(cè)信息為序列號(hào)之外,其它內(nèi)容與圖1所示實(shí)施例中的步驟101說明的內(nèi)容相同,此處不再贅述。
302、將序列號(hào)發(fā)送至服務(wù)端,以使得服務(wù)端查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn),若校驗(yàn)成功,則向客戶端返回注冊(cè)碼;
本實(shí)施例中,客戶端獲取到第一軟件的序列號(hào)后,可以將序列號(hào)發(fā)送至服務(wù)端,以在服務(wù)端對(duì)序列號(hào)的合法性進(jìn)行查詢。
具體的,在服務(wù)端生成注冊(cè)信息的過程中,當(dāng)注冊(cè)信息為序列號(hào)時(shí),在存儲(chǔ)序列號(hào)的同時(shí),可以存儲(chǔ)有序列號(hào)對(duì)應(yīng)的注冊(cè)碼,那么當(dāng)服務(wù)端在接收到客戶端發(fā)送的序列號(hào)后,可以查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,以防止序列號(hào)被篡改。但服務(wù)端查詢存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼時(shí),可以進(jìn)一步按照第二預(yù)設(shè)算法對(duì)注冊(cè)碼進(jìn)行計(jì)算,得到注冊(cè)碼的有效信息,諸如id、子功能或有效期,若有效信息正確且在有效期內(nèi),則意味著校驗(yàn)成功,則服務(wù)端可以向客戶端返回該注冊(cè)碼,使得客戶端可以對(duì)注冊(cè)碼進(jìn)行校驗(yàn),以實(shí)現(xiàn)對(duì)注冊(cè)信息的雙重校驗(yàn),增加第一軟件的破解難度。反之,若服務(wù)端查詢不存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,或校驗(yàn)失敗,則通知客戶端序列號(hào)不可用,使得客戶端可以對(duì)用戶進(jìn)行序列號(hào)無效的提示。
可以理解的是,在實(shí)際應(yīng)用中,若注冊(cè)信息為注冊(cè)碼,那么在服務(wù)端對(duì)注冊(cè)碼進(jìn)行校驗(yàn)之前,服務(wù)端也可以查詢是否存在該注冊(cè)碼,若存在,則可以進(jìn)一步按照對(duì)注冊(cè)碼進(jìn)行校驗(yàn),以校驗(yàn)注冊(cè)碼的有效信息是否正確且在有效期內(nèi),如果不正確或者過期,則向客戶端發(fā)出注冊(cè)碼錯(cuò)誤或注冊(cè)碼過期的信息,以使得客戶端可以對(duì)用戶進(jìn)行注冊(cè)碼無效的提示。
303、接收服務(wù)端返回的注冊(cè)碼;
本實(shí)施例中,當(dāng)服務(wù)端查詢存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,且對(duì)注冊(cè)碼的校驗(yàn)成功后,客戶端可以接收服務(wù)端返回的注冊(cè)碼。
304、對(duì)注冊(cè)碼進(jìn)行校驗(yàn);
本實(shí)施例中,當(dāng)客戶端接收服務(wù)端返回的注冊(cè)碼后,客戶端可以按照第一預(yù)設(shè)算法對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
本實(shí)施例中,除注冊(cè)信息為注冊(cè)碼之外,其它內(nèi)容可以參照?qǐng)D1所示實(shí)施例中步驟102說明的部分內(nèi)容,此處不再贅述。
305、若校驗(yàn)成功,則啟動(dòng)第一軟件。
本實(shí)施例中,若客戶端對(duì)注冊(cè)碼的校驗(yàn)成功,則可以啟動(dòng)第一軟件。
可以理解的是,本實(shí)施例中,若校驗(yàn)失敗,則禁用第一軟件,使得使用者無法正常使用第一軟件的功能,進(jìn)一步的,客戶端可以輸出諸如注冊(cè)信息錯(cuò)誤或注冊(cè)信息過期的提醒,以提示使用者購買正確且有效的注冊(cè)信息并獲得第一軟件的授權(quán)。
結(jié)合圖2所示實(shí)施例說明的內(nèi)容,本實(shí)施例中,在服務(wù)端一側(cè),在服務(wù)端將第一軟件的軟件信息生成序列號(hào)后??梢越邮湛蛻舳税l(fā)送的序列號(hào),若查詢存在該序列號(hào)對(duì)應(yīng)的注冊(cè)碼,則可以對(duì)注冊(cè)碼進(jìn)行校驗(yàn),并在校驗(yàn)成功后,可以將注冊(cè)碼發(fā)送至客戶端,使得客戶端可以對(duì)注冊(cè)碼進(jìn)行校驗(yàn),具體內(nèi)容可以參照上述圖3所示實(shí)施例中說明的內(nèi)容,此處不再贅述。
其中,當(dāng)注冊(cè)信息為注冊(cè)碼時(shí),其校驗(yàn)過程與圖1所示的內(nèi)容一致,此處也不再贅述。
需要說明的是,當(dāng)注冊(cè)碼通過服務(wù)端的校驗(yàn)和客戶端的校驗(yàn)之后,為了進(jìn)一步增強(qiáng)安全機(jī)制,客戶端還可以對(duì)注冊(cè)信息進(jìn)行定時(shí)校驗(yàn),下面從客戶端一側(cè)進(jìn)行具體說明:
請(qǐng)參閱圖4,本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)方法另一實(shí)施例包括:
本實(shí)施例中的步驟401至步驟403與圖1所示實(shí)施例中的步驟101至步驟103相同,此處不再贅述。
404、確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照預(yù)設(shè)校驗(yàn)周期和第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并按照預(yù)設(shè)周期將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法后,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
本實(shí)施例中,啟動(dòng)第一軟件后,可以對(duì)注冊(cè)信息進(jìn)行定時(shí)校驗(yàn),如每隔30分鐘校驗(yàn)一次,直至第一軟件關(guān)閉。在這過程中,客戶端可以確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照預(yù)設(shè)校驗(yàn)周期和第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并可以按照預(yù)設(shè)周期將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法后,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn)。其中,第一預(yù)設(shè)算法可以為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
具體的,為了防止一些黑客通過一些破解工具修改第一軟件的一些代碼邏輯,去破解第一軟件,本實(shí)施例可以采用隨機(jī)線程定時(shí)校驗(yàn)機(jī)制,通過隨機(jī)因子啟動(dòng)隨機(jī)的獨(dú)立線程,可以觸發(fā)定時(shí)校驗(yàn)任務(wù),每個(gè)線程處理方式都存在差異,即相鄰兩次的線程處理方式不同,而在每一次線程處理方式中,均采用客戶端和服務(wù)端進(jìn)行雙重校驗(yàn)的機(jī)制,從而可以有效避免黑客進(jìn)一步的攻擊,解決一次破解終生使用的難題,有利于保護(hù)第一軟件的注冊(cè)信息。
其中,客戶端和服務(wù)端均可以存儲(chǔ)用于校驗(yàn)注冊(cè)信息的兩套或以上的算法,在啟動(dòng)第一軟件并使用軟件的第一過程中,在客戶端可以按照預(yù)設(shè)校驗(yàn)周期在存儲(chǔ)的兩套或以上的算法中隨機(jī)采用不同于上一次采用的算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),且客戶端可以按照預(yù)設(shè)校驗(yàn)周期將注冊(cè)信息重復(fù)發(fā)送至服務(wù)端,服務(wù)端也可以在存儲(chǔ)的兩套或以上的算法中隨機(jī)采用不同于上一次采用的算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn)。其中,在定時(shí)校驗(yàn)時(shí),可以先在客戶端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),再在服務(wù)端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),或者,也可以先在服務(wù)端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),再在客戶端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),或者,也可以同時(shí)進(jìn)行,此處不做限定。
在實(shí)際應(yīng)用中,客戶端的隨機(jī)線程定時(shí)校驗(yàn)機(jī)制與服務(wù)端的隨機(jī)線程定時(shí)校驗(yàn)機(jī)制一致,即在每一次定時(shí)校驗(yàn)的過程中,客戶端的算法與服務(wù)端的算法一致,但在注冊(cè)信息有效的情況下,相鄰兩次定時(shí)校驗(yàn)過程中采用的不同的算法,可以得到注冊(cè)信息的一致的有效信息,以對(duì)注冊(cè)信息進(jìn)行有效校驗(yàn)。
以客戶端為例進(jìn)行說明,假設(shè)客戶端存儲(chǔ)了n套的算法,可以設(shè)計(jì)算法n=算法1+摘要值,其中,摘要值是根據(jù)隨機(jī)因子計(jì)算的,也就是說,算法n中的任一個(gè)算法其實(shí)是包含了算法1的。即是,如果采用算法1計(jì)算,只需算出結(jié)果數(shù)據(jù),并將該結(jié)果數(shù)據(jù)與注冊(cè)信息的正確的有效信息進(jìn)行比對(duì)即可;如果采用算法n中除算法1的算法,那么除了算出結(jié)果數(shù)據(jù)進(jìn)行比對(duì)之外,還需對(duì)結(jié)果數(shù)據(jù)的尾部摘要值進(jìn)行比對(duì)。從而通過上述設(shè)計(jì)機(jī)制,在每次啟動(dòng)隨機(jī)定時(shí)校驗(yàn)線程時(shí),根據(jù)隨機(jī)因子都可以采用不同的算法(同時(shí)服務(wù)端和客戶端采用相同算法),但能算出一樣的數(shù)據(jù),并進(jìn)行正確的校驗(yàn)。
優(yōu)選的,為了有利于充分利用資源,當(dāng)注冊(cè)信息為注冊(cè)碼時(shí),可以先在客戶端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),再在服務(wù)端根據(jù)第四預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);而當(dāng)注冊(cè)信息為序列號(hào)時(shí),在服務(wù)端存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼的情況下,可以先在在服務(wù)端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),再在在客戶端根據(jù)第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn)。
其中,當(dāng)注冊(cè)信息為序列號(hào)時(shí),可以按照如下方式進(jìn)行序列號(hào)的定時(shí)校驗(yàn):
按照預(yù)設(shè)校驗(yàn)周期將序列號(hào)發(fā)送至服務(wù)端,以使得服務(wù)端查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,若存在,則在確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法后,按照第二預(yù)設(shè)算法對(duì)注冊(cè)碼進(jìn)行校驗(yàn),若注冊(cè)碼校驗(yàn)成功,則向客戶端返回注冊(cè)碼;
接收服務(wù)端返回的注冊(cè)碼;
確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照第二預(yù)設(shè)算法對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
需要說明的是,本實(shí)施例中,預(yù)設(shè)校驗(yàn)周期的計(jì)算起點(diǎn)可以為啟動(dòng)第一軟件時(shí)的時(shí)間點(diǎn),也可以為在啟動(dòng)第一軟件前在客戶端或服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn)的時(shí)間點(diǎn),此處不做限定。
405、若客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功,則保持第一軟件的使用狀態(tài)。
本實(shí)施例中,若注冊(cè)信息在客戶端本地的校驗(yàn)成功,且在服務(wù)端的校驗(yàn)成功,則可以保持第一軟件的使用狀態(tài),使得使用者可以正常使用第一軟件。
可以理解的是,本實(shí)施例中,在定時(shí)校驗(yàn)時(shí),若客戶端本地的校驗(yàn)失敗或服務(wù)端的校驗(yàn)失敗,則可以阻止使用者繼續(xù)使用第一軟件,使得使用者無法正常使用第一軟件的功能,進(jìn)一步的,客戶端可以輸出諸如注冊(cè)信息錯(cuò)誤或注冊(cè)信息過期的提醒,以提示使用者購買正確且有效的注冊(cè)信息并獲得第一軟件的授權(quán)。
需要說明的是,本實(shí)施例中在服務(wù)端一側(cè)的定時(shí)校驗(yàn)過程可以參照上述說明的內(nèi)容,此處不再贅述。
上面對(duì)本發(fā)明實(shí)施例中的軟件版權(quán)保護(hù)方法進(jìn)行了描述,下面從客戶端一側(cè)對(duì)本發(fā)明實(shí)施例中的軟件版權(quán)保護(hù)裝置進(jìn)行描述,請(qǐng)參閱圖5,本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)裝置一個(gè)實(shí)施例包括:
獲取模塊501,用于在接收到針對(duì)第一軟件的使用指令時(shí),獲取第一軟件的注冊(cè)信息;
校驗(yàn)?zāi)K502,用于對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
啟動(dòng)模塊503,用于當(dāng)客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功時(shí),則啟動(dòng)第一軟件。
可選的,在本發(fā)明的一些實(shí)施例中,注冊(cè)信息可以包括注冊(cè)碼或根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到的序列號(hào),若注冊(cè)信息為序列號(hào),校驗(yàn)?zāi)K502,可以進(jìn)一步具體用于:
將序列號(hào)發(fā)送至服務(wù)端,以使得服務(wù)端查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼,若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn),若校驗(yàn)成功,則向客戶端返回注冊(cè)碼;
接收服務(wù)端返回的注冊(cè)碼;
對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
可選的,在本發(fā)明的一些實(shí)施例中,校驗(yàn)?zāi)K502,還可以進(jìn)一步具體用于:
確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照預(yù)設(shè)校驗(yàn)周期和第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn),并按照預(yù)設(shè)校驗(yàn)周期將注冊(cè)信息發(fā)送至服務(wù)端,以使得服務(wù)端確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法后,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
若客戶端對(duì)注冊(cè)信息校驗(yàn)成功,且服務(wù)端對(duì)注冊(cè)信息校驗(yàn)成功,則保持第一軟件的使用狀態(tài);
其中,第一預(yù)設(shè)算法為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
上面從客戶端一側(cè)對(duì)本發(fā)明實(shí)施例中的軟件版權(quán)保護(hù)裝置進(jìn)行了描述,下面從客戶端一側(cè)對(duì)本發(fā)明實(shí)施例中的軟件版權(quán)保護(hù)裝置進(jìn)行描述,請(qǐng)參閱圖6,本發(fā)明實(shí)施例中軟件版權(quán)保護(hù)裝置另一實(shí)施例包括:
獲取模塊601,用于獲取第一軟件的軟件信息;
生成模塊602,用于將軟件信息生成注冊(cè)信息;
存儲(chǔ)模塊603,用于存儲(chǔ)注冊(cè)信息。
可選的,在本發(fā)明的一些實(shí)施例中,如圖7所示,裝置還可以進(jìn)一步包括:
下發(fā)模塊604,用于按照預(yù)設(shè)方式下發(fā)注冊(cè)信息。
可選的,在本發(fā)明的一些實(shí)施例中,基于圖7,如圖8所示,裝置還可以進(jìn)一步包括:
接收模塊605,用于接收客戶端發(fā)送的注冊(cè)信息;
校驗(yàn)?zāi)K606,用于對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
通知模塊607,用于當(dāng)注冊(cè)信息校驗(yàn)成功時(shí),則通知客戶端注冊(cè)信息校驗(yàn)成功。
可選的,在本發(fā)明的一些實(shí)施例中,注冊(cè)信息可以包括注冊(cè)碼或根據(jù)注冊(cè)碼進(jìn)行計(jì)算得到的序列號(hào),若注冊(cè)信息為序列號(hào),校驗(yàn)?zāi)K606,可以進(jìn)一步具體用于:
查詢是否存在序列號(hào)對(duì)應(yīng)的注冊(cè)碼;
若存在,則對(duì)注冊(cè)碼進(jìn)行校驗(yàn),并發(fā)送注冊(cè)碼至客戶端,以使得客戶端對(duì)注冊(cè)碼進(jìn)行校驗(yàn)。
可選的,在本發(fā)明的一些實(shí)施例中,校驗(yàn)?zāi)K606,可以進(jìn)一步具體用于:
確定不同于第一預(yù)設(shè)算法的第二預(yù)設(shè)算法,按照第二預(yù)設(shè)算法對(duì)注冊(cè)信息進(jìn)行校驗(yàn);
其中,第一預(yù)設(shè)算法為在上一個(gè)預(yù)設(shè)校驗(yàn)周期對(duì)注冊(cè)信息進(jìn)行校驗(yàn)時(shí)的算法。
可以理解的是,本發(fā)明還提供了一種軟件版權(quán)保護(hù)系統(tǒng),該軟件版權(quán)保護(hù)系統(tǒng)可以客戶端以及服務(wù)端,使得第一軟件的注冊(cè)信息不但具備客戶端的算法校驗(yàn)以及服務(wù)端的算法校驗(yàn)的雙重加密層面保護(hù),更是基于服務(wù)端生成,大大提高了注冊(cè)信息的安全層級(jí),為軟件開發(fā)商和軟件開發(fā)者的軟件版權(quán)保駕護(hù)航。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。