一种用于软件许可的注册码生成方法和装置的制作方法

文档序号:6397660阅读:621来源:国知局
专利名称:一种用于软件许可的注册码生成方法和装置的制作方法
技术领域
本发明涉及软件许可技术领域,尤其涉及一种用于软件许可的注册码生成方法和装置以及基于所述注册码生成方法的软件许可控制方法及装置。
背景技术
传统的软件许可控制方法,大概有如下几种方法:1:硬件狗,2:通过网络进行验证。3:使用序列号、注册码。序列号、注册码的方式,是软件许可控制方面比较常用的一种方式。即通过扫描出硬件序列号,根据硬件的序列号,来生成唯一的注册码,从而一个注册码只能在一台机器上使用。通常的方法,包括获取机器的CPU序列号、硬盘序列号、网卡mac地址。然后通知这些硬件中的一个或者多个组合成序列号,然后生成唯一的注册码。具体过程如下:在传统的方法中,软件启动过程如下:安装时:1.分别获取CPU序列号、硬盘序列号、网卡mac地址2.组成序列号C3.用户将序列号C发给软件供应商。软件供应商通过注册机采用私钥D加密序列号C后生成注册码F。软件供应商将注册码F发给用户。4.软件提示用户输入注册码5.用户输入注册码F,6.软件注册模块采用公钥E对注册码F解码后生成G(即:用户机器特征信息)。7然后软件注册模块提取用户机器的CPU序列号、硬盘序列号、网卡mac地址信息,进行编码。将编码的结果与G进行比较,如果相等则用户合法,完成授权,将用户输入的注册码F保存在配置文件中(配置文件可再加密),否则授权失败,提示重新输入注册码。注册码验证通过之后,再次启动时:1.从配置文件中读出F2.软件注册模块采用公钥E对注册码F解码后生成G(即:用户机器特征信息).
3:然后软件注册模块提取用户机器的CPU序列号、硬盘序列号、网卡mac地址进行编码。将编码的结果与G进行比较,如果相等则用户合法,否则提示重新输入注册码。从上面可以看出,这种方法,硬件更换是个无法避免的风险,一旦硬件因为故障或者升级,CPU序列号、硬盘序列号、网卡mac地址发生变化,原来的注册码就失效了。软件就无法使用了。对于用户来说,可能并不 知道硬件更换会带来这么严重的问题。这时候,用户不得不紧急向软件供应商求救。由软件供应商来提供新的注册码。对于序列号、注册码的方式,经常会碰到一个问题,那就是常常因为机器维修或者升级而导致验证失败。通常,除非很专业的用户,一般用户并不知道或者会忘记机器硬件更换(升级或者升级)了,注册码就会无法使用而导致软件无法使用。当他们发现无法使用时,又可能因为软件供应商不在工作时间等原因,无法及时联系到软件供应商,来更换注册码。无论是硬件狗还是序列号、注册码方式,都存在被黑客或者其他人员破解的可能性。

发明内容
(一)技术问题本发明要解决的问题是如何降低黑客或者其他人员破解的可能性。(二)技术方案本发明提供一种用于软件许可的注册码生成方法,该方法包括:分别获取客户设备所包含的η个关键部件的序列号或者标识,以生成η个对应的序列号,其中η为大于等于I的整数;对所述η个序列号进行组合,生成一个组合序列号;注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成η个序列号,并将对拆分后的η个序列号进行加密生成η个注册码;对所述η个注册码进行组合,生成一个组合注册码。可选的,所述关键部件为CPU、硬盘和/或网卡。可选的,η等于3。可选的,采用私钥分别对所述拆分后的η个序列号进行加密。本发明还提供一种基于上述注册码生成方法的软件许可控制方法,所述软件许可控制方法包括:提示用户输入组合注册码;用户输入所述组合注册码后,将所述注册码拆分成η个注册码,并对所述拆分后的注册码进行解码,生成η个特征信息;提取η个关键部件的序列号或者标识并进行编码;将所述编码结果分别与相应的特征信息进行比较,来判断用户是否合法。可选的,利用公钥对所述拆分后的注册码进行所述解码。可选的,如果全部相等,则用户合法,如果部分相等,则提醒用户在规定时间或者在使用软件规定次数内获取新的注册码进行重新注册,如果全部不相等,则用户不合法。可选的,在部分相等的情况下,用户进入软件系统,仅允许用户使用基本功能,限制使用闻级功能。可选的,在进行所述提醒后,累计使用时间和/或使用次数,在达到规定的时间和/或者次数后,不再允许使用软件。本发明还提供一种用于软件许可的注册码生成系统,该系统包括:获取单元,用于分别获取客户设备所包含的η个关键部件的序列号或者标识,以生成η个对应的序列号,其中η为大于等于I的整数;第一组合单元,对所述η个序列号进行组合,生成一个组合序列号;
拆分单元,注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成η个序列号,并将对拆分后的η个序列号进行加密生成η个注册码;第二组合单元,对所述η个注册码进行组合,生成一个组合注册码。本发明还提供一种基于上述注册码生成系统的软件许可控制装置,所述软件许可控制装置包括:提示单元,提示用户输入组合注册码;拆分单元,用于输入所述组合注册码后,将所述注册码拆分成η个注册码,并对所述拆分后的注册码进行解码,生成η个特征信息;提取单元,提取η个关键部件的序列号或者标识并进行编码;比较单元,用于将所述编码结果分别与相应的特征信息进行比较,来判断用户是否合法。(三)技术效果利用本发明生成的注册码,降低了黑客或者其他人员破解的可能性。


图1表示本发明提出的用于软件许可的注册码生成方法;图2表示本发明提出的软件许可控制方法的流程图;图3表示本发明提出的用于软件许可的注册码生成系统的结构图;图4表示本发明提出的软件许可控制装置的结构图。
具体实施例方式实施例1:本实施例提供一种用于软件许可的注册码生成方法,如图1所示,该方法包括:S1.分别获取客户设备所包含的η个关键部件的序列号或者标识,以生成η个对应的序列号,其中η为大于等于I的整数;S2.对所述η个序列号进行组合,生成一个组合序列号;S3.注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成η个序列号,并将对拆分后的η个序列号进行加密生成η个注册码;S4.对所述η个注册码进行组合,生成一个组合注册码。可选的,所述关键部件为CPU、硬盘和/或网卡。可选的,η等于3。可选的,采用私钥分别对所述拆分后的η个序列号进行加密。实施例2本发明还提供一种基于实施例1所述的注册码生成方法的软件许可控制方法,如图2所示,所述软件许可控制方法包括:SI,提示用户输入组合注册码;S2’用户输入所述组合注册码后,将所述注册码拆分成η个注册码,并对所述拆分后的注册码进行解码,生成η个特征信息;S3’提取η个关键部件的序列号或者标识并进行编码;
S4’将所述编码结果分别与相应的特征信息进行比较,来判断用户是否合法。可选的,利用公钥对所述拆分后的注册码进行所述解码。可选的,如果全部相等,则用户合法,如果部分相等,则提醒用户在规定时间或者在使用软件规定次数内获取新的注册码进行重新注册,如果全部不相等,则用户不合法。可选的,在部分相等的情况下,用户进入软件系统,仅允许用户使用基本功能,限制使用闻级功能。可选的,在进行所述提醒后,累计使用时间和/或使用次数,在达到规定的时间和/或者次数后,不再允许使用软件。实施例3本实施例给出根据CPU、硬盘、网卡的序列号或者地址的注册码生成方法以及软件许可方法,具体要点如下:I)对CPU序列号、硬盘序列号、网卡mac地址采用私钥D分别进行加密,实质上形成3个注册码,分别对用户的CPU、硬盘序列号、网卡mac地址进行验证。如果只有2个或者I个正确,就认为是用户升级或者维修导致,允许用户继续使用一段时间或者一定的次数。分别加密,形成3个注册码的过程对用户透明,因为3个注册码被拼接成一个长的注册码,用户可能以为只有一个注册码。(2)在硬盘因为维修或者升级而进行更换后,如果更换了 CPU、硬盘或者网卡,在验证过程中,只要这3个注册码中,有K项(K为I或者2)通过,则允许在一定时间或者使用次数的范围内,继续使用。给用户一个缓冲时间,让用户在重新申请注册码的过程中不影响软件使用。(3)将软件功能分为2类,一类是基本功能,即紧急、重要功能,例如,最基本的路测功能。一类是高级功能,即不紧急,但是给使用者带来方便的功能。在对CPU序列号、硬盘序列号、网卡mac地址,全部验证成功时,开放全部功能。只有部分验证成功时,只开放第一类功能(基本功能)。既不影响用户的紧急使用,又促使用户因为无法使用高级功能而联系供应商重新进行注册。具体的安装过程以及验证过程如下:一:安装步骤:1.分别获取CPU序列号、硬盘序列号、网卡mac地址2.分别生成3个序列号Cl、C2、C3,然后拼接起来,形成一个序列号C。3.用户将序列号C发给软件供应商。软件供应商的注册机将C重新分拆成Cl、C2、C3,然后采用私钥D分别加密序列号Cl、C2、C3后生成注册码F1、F2、F3。然后注册机将Fl、F2、F3拼接起来,形成注册码F,软件供应商将注册码F发给用户。4.提示用户输入注册码5.用户输入注册码F,6.软件注册模块将注册码F分拆成F1、F2、F3采用公钥E对注册码F1、F2、F3解码后生成61、62、63(即:用户机器特征信息)。7然后软件注册模块提取用户机器的CPU序列号、硬盘序列号、网卡mac地址,进行编码。将编码的结果与G1、G2、G3进行比较,如果全部相等则用户合法,完成授权,将用户输入的注册码F保存在配置文件中(配置文件可再加密),如果不一致,则授权失败,提示重新输入注册码。二:成功安装之后,启动的验证过程1.从配置文件中读出F2.软件注册模块将注册码F分拆成F1、F2、F3采用公钥E对注册码F1、F2、F3解码后生成61、62、63(即:用户机器特征信息)。3:然后软件注册模块提取用户机器的CPU序列号、硬盘序列号、网卡mac地址进行编码。将编码的结果(C1、C2、C3)与G1、G2、G3进行比较。根据比较结果进入下面的分支之一:3.1如果全部相等(C1==G1、C2==G2、C3==G3)则用户合法。3.2否则,如果只是部分验证通过,即只有K个(K为I或者2)相等,则认为是更换了的硬件导致的。此时,提醒用户在规定时间内获取新的注册码进行重新注册。然后累计部分验证通过情况下的使用时间(Dl)及使用次数(Count),进入系统,同时限制高级功能的使用,只能使用一般功能。(如果部分验证情况下的累计使用时间或者使用次数超过规定的值,则一般功能也无法再使用,即无法再使用该软件。)3.3否则,验证失败,提示用户进行注册,无法使用软件。使用了新的处理流程后,因为维修或者升级,更换了 CPU,或者更换了网卡,在一定时间或者次数的范围内,用户可以继续使用软件的一般功能,只要用户在这个比较宽裕的窗口期内,更新了软件验证码,就不会影响到正常的使用。如果更换了硬盘,则如果用户使用ghost恢复原来的系统,或者win7的备份来恢复原来的系统,只要不重新安装,也同样可以在一定时间或者次数的范围内继续使用该软件。 至于哪些功能是高级功能,哪些功能是基本功能,可以在开发过程中通过配置文件进行定制。实施例4本实施例提供一种用于软件许可的注册码生成系统,如图3所示,该系统包括:获取单元1,用于分别获取客户设备所包含的η个关键部件的序列号或者标识,以生成η个对应的序列号,其中η为大于等于I的整数;第一组合单元2,对所述η个序列号进行组合,生成一个组合序列号;拆分单元3,注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成η个序列号,并将对拆分后的η个序列号进行加密生成η个注册码;第二组合单元4,对所述η个注册码进行组合,生成一个组合注册码。本实施例还提供一种基于上述注册码生成系统的软件许可控制装置,如图4所示,所述软件许可控制装置包括:提示单元Γ,提示用户输入组合注册码;拆分单元2 ’,用于输入所述组合注册码后,将所述注册码拆分成η个注册码,并对所述拆分后的注册码进行解码,生成η个特征信息;提取单元3’,提取η个关键部件的序列号或者标识并进行编码;比较单元4’,用于将所述编码结果分别与相应的特征信息进行比较,来判断用户是否合法。
总之,利用本发明,用户在硬件维修或者升级后,原来许可的软件可以在一定时间和次数的范围内继续使用软件的基本功能。对用户的日常使用影响比较小。同时,因为无法使用高级功能,以及通过使用时间和次数的限制,而促使用户重新注册。兼顾了用户和供应商的利益。另外,对各个硬件的注册码和序列号都进行了拼接,虽然是分别验证,但用户看不出和传统注册码方式的区别,没有给用户增加额外的工作。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种用于软件许可的注册码生成方法,其特征在于,该方法包括:分别获取客户设备所包含的η个关键部件的序列号或者标识,以生成η个对应的序列号,其中η为大于等于I的整数; 对所述η个序列号进行组合,生成一个组合序列号; 注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成η个序列号,并将对拆分后的η个序列号进行加密生成η个注册码; 对所述η个注册码进行组合,生成一个组合注册码。
2.按权利要求1所述的方法,其特征还在于:所述关键部件为CPU、硬盘和/或网卡。
3.按权利要求2所述的方法,其特征还在于:n等于3。
4.按权利要求1所述的方法,其特征还在于:采用私钥分别对所述拆分后的η个序列号进行加密。
5.一种基于权利要求1-4任一项所述的注册码生成方法的软件许可控制方法,所述软件许可控制方法包括: 提示用户输入组合注册码; 用户输入所述组合注册码后,将所述注册码拆分成η个注册码,并对所述拆分后的注册码进行解码,生成η个特征信息; 提取η个关键部件的序列号或者标识并进行编码; 将所述编码结果分别与相应的特征信息进行比较,来判断用户是否合法。
6.按权利要求5所述的方法,其特征还在于:利用公钥对所述拆分后的注册码进行所述解码。
7.按权利要求5所述的方法,其特征还在于:如果全部相等,则用户合法,如果部分相等,则提醒用户在规定时间或者在使用软件规定次数内获取新的注册码进行重新注册,如果全部不相等,则用户不合法。
8.按权利要求7所述的方法,其特征还在于:在部分相等的情况下,用户进入软件系统,仅允许用户使用基本功能,限制使用高级功能。
9.按权利要求7或8所述的方法,其特征还在于:在进行所述提醒后,累计使用时间和/或使用次数,在达到规定的时间和/或者次数后,不再允许使用软件。
10.一种用于软件许可的注册码生成系统,其特征在于,该系统包括:获取单元,用于分别获取客户设备所包含的η个关键部件的序列号或者标识,以生成η个对应的序列号,其中η为大于等于I的整数; 第一组合单元,对所述η个序列号进行组合,生成一个组合序列号; 拆分单元,注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成η个序列号,并将对拆分后的η个序列号进行加密生成η个注册码; 第二组合单元,对所述η个注册码进行组合,生成一个组合注册码。
11.一种基于权利要求10所述的注册码生成系统的软件许可控制装置,所述软件许可控制装置包括: 提示单元,提示用户输入组合注册码; 拆分单元,用于输入所述组合注册码后, 将所述注册码拆分成η个注册码,并对所述拆分后的注册码进行解码,生成η个特征信息;提取单元,提取η个关键部件的序列号或者标识并进行编码; 比较单元,用于将 所述编码结果分别与相应的特征信息进行比较,来判断用户是否合 法。
全文摘要
本发明提供一种用于软件许可的注册码生成方法以及基于上述注册码生成方法的软件许可控制方法,该注册码生成方法包括分别获取客户设备所包含的n个关键部件的序列号或者标识,以生成n个对应的序列号,其中n为大于等于1的整数;对所述n个序列号进行组合,生成一个组合序列号;注册机接收所述组合序列号,根据所述组合序列号将其重新拆分成n个序列号,并将对拆分后的n个序列号进行加密生成n个注册码;对所述n个注册码进行组合,生成一个组合注册码。利用本发明生成的注册码,降低了黑客或者其他人员破解的可能性。
文档编号G06F21/12GK103093129SQ20131000831
公开日2013年5月8日 申请日期2013年1月9日 优先权日2013年1月9日
发明者余再跃 申请人:上海大唐移动通信设备有限公司, 大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1