首页> 中国专利> 软件注册方法和装置,注册码生成方法和装置

软件注册方法和装置,注册码生成方法和装置

摘要

本发明涉及一种软件注册方法,该方法包括:接收注册界面运行指令,根据注册界面运行指令运行注册界面并获取软件注册终端对应的GUID码,根据GUID码确定机器编码;接收注册指令,根据注册指令获取输入的最终注册码;将机器编码作为密钥对最终注册码进行解密得到原始注册码;对原始注册码进行解析得到注册信息,将注册信息进行关联存储。在使用已注册过最终注册码注册时,无法获取到与加密密钥相同的机器编码,从而防止使用已注册过的注册码进行重复注册。此外,还提供了一种软件注册装置、一种注册码生成方法和装置。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-13

    授权

    授权

  • 2016-07-06

    实质审查的生效 IPC(主分类):G06F21/10 申请日:20160201

    实质审查的生效

  • 2016-06-08

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,特别是涉及一种软件注册方法和装置,注册码生成方法和装置。

背景技术

传统软件注册方法有多种,包括注册码注册、加密锁注册、授权文件注册等,其中注册码注册最为便捷,因而使用更为普遍。常用的注册码注册方法中,为了限制注册码只能在一台电脑上使用,通常是将电脑的硬盘序列号或网卡MAC地址或CPU序列号等具有唯一性的序列号作为机器编码,将用户注册信息与机器编码联合生成注册码。用户利用上述注册码进行软件注册时,软件会自动获取当前进行注册的电脑的特征信息,进而与注册码中的机器编码信息进行匹配,以判断当前注册的电脑是否是被授权的那台电脑。当判断通过后,将注册信息在注册电脑上进行对应的存储,从而完成软件注册。

然而,随着技术的发展,电脑上的硬盘序列号、网卡MAC地址、CPU序列号等这些组成机器编码要素的字符可以被人为修改,因此,在使用传统注册码注册方法进行软件注册时,若用户人为修改当前进行注册的电脑上的硬盘序列号等机器编码信息时,就可以实现用同样的注册码在不同的电脑上进行软件注册,因而出现注册码的重复使用。此外,在不联网的情况下,软件会通过注册文件直接存储使用过的注册码,而存放历史注册码的注册文件容易被覆盖,用户可以在软件过期后,对注册文件进行覆盖从而重复使用该注册码。

因此,如何防止注册码被重复使用是需要解决的问题。

发明内容

基于此,有必要针对上述问题,提供一种能够防止注册码被重复使用的软件注册方法和装置、注册码生成方法和装置。

一种软件注册方法,所述方法包括:

接收注册界面运行指令,根据所述注册界面运行指令运行注册界面并获取软件注册终端对应的GUID码,根据所述GUID码确定机器编码;

接收注册指令,根据所述注册指令获取输入的最终注册码;

将所述机器编码作为密钥对所述最终注册码进行解密得到原始注册码;

对所述原始注册码进行解析得到注册信息,将所述注册信息进行关联存储。

在其中一个实施例中,从根据所述注册界面运行指令运行注册界面到将所述机器编码作为密钥对所述最终注册码进行解密的过程中,保持注册界面一直处于当前运行界面状态。

在其中一个实施例中,所述机器编码是所述GUID码本身或对所述GUID码进行处理后得到的机器编码。

在其中一个实施例中,所述注册信息包括注册类型标识及对应的限制值。

在其中一个实施例中,在所述接收注册指令的步骤之前,还包括:

获取输入的注册信息;

根据所述机器编码及所述注册信息生成注册码生成请求发送至服务器,使所述服务器根据所述机器编码及所述注册信息生成所述原始注册码,并将所述机器编码作为密钥对所述原始注册码进行加密生成所述最终注册码;

接收所述服务器返回的所述最终注册码,并将所述最终注册码进行显示。

在其中一个实施例中,所述将所述注册信息进行关联存储的步骤,包括:

将所述注册信息加密并存储在注册表预设存储路径下;和/或

将所述注册信息存储在软件根目录下的对应文件中。

一种软件注册装置,所述装置包括:

机器编码确定模块,用于接收注册界面运行指令,根据所述注册界面运行指令运行注册界面并获取软件注册终端对应的GUID码,根据所述GUID码确定机器编码;

获取模块,用于接收注册指令,根据所述注册指令获取输入的最终注册码;

解密模块,用于将所述机器编码作为密钥对所述最终注册码进行解密得到原始注册码;

关联存储模块,用于对所述原始注册码进行解析得到注册信息,将所述注册信息进行关联存储。

在其中一个实施例中,从根据所述注册界面运行指令运行注册界面到将所述机器编码作为密钥对所述最终注册码进行解密的过程中,保持注册界面一直处于当前运行界面状态。

在其中一个实施例中,所述机器编码是所述GUID码本身或对所述GUID码进行处理后得到的机器编码。

在其中一个实施例中,所述注册信息包括注册类型标识及对应的限制值。

在其中一个实施例中,所述获取模块还用于获取输入的注册信息;

所述装置还包括:

注册码生成请求模块,用于根据所述机器编码及所述注册信息生成注册码生成请求发送至服务器,使所述服务器根据所述机器编码及所述注册信息生成所述原始注册码,并将所述机器编码作为密钥对所述原始注册码进行加密生成所述最终注册码;

显示模块,用于接收所述服务器返回的所述最终注册码,并将所述最终注册码进行显示。

在其中一个实施例中,所述关联存储模块还用于将所述注册信息加密并存储在注册表预设存储路径下;和/或将所述注册信息存储在软件根目录下的对应文件中。

上述软件注册方法和装置,必须使用与加密密钥一致的机器编码作为解密密钥才能够成功解密最终注册码,而基于GUID码会随界面显示状态的变化被终端进行更新的特性,若使注册界面处于非当前运行界面状态后再恢复至当前运行界面状态,那么软件注册终端会更新GUID码,从而机器编码相应更新,进而导致解密密钥机器编码与加密密钥机器编码不一致,解密失败。因此,在使用已注册过的最终注册码进行重复注册时,无法再获取到与加密密钥相同的机器编码来进行解密,且由于目前GUID码生成过程是无法人为干扰和修改的,因此也不可能将机器编码修改成与加密密钥一致,从而防止使用已注册过的注册码进行重复注册。

一种注册码生成方法,所述方法包括:

获取软件注册终端对应的机器编码,所述机器编码根据所述软件注册终端对应的GUID码确定;

获取注册信息;

根据所述机器编码及注册信息生成原始注册码;

将所述机器编码作为密钥对所述原始注册码进行加密生成最终注册码。

在其中一个实施例中,所述注册信息包括注册类型标识及对应的限制值。

在其中一个实施例中,所述获取软件注册终端对应的机器编码的步骤,包括:

接收软件注册终端发送的注册码生成请求,获取所述注册码生成请求中携带的软件注册终端对应的机器编码;或

获取输入的软件注册终端对应的机器编码。

一种注册码生成装置,所述装置包括:

机器编码获取模块,用于获取软件注册终端对应的机器编码,所述机器编码根据所述软件注册终端对应的GUID码确定;

注册信息获取模块,用于获取注册信息;

注册码生成模块,用于根据所述机器编码及注册信息生成原始注册码;将所述机器编码作为密钥对所述原始注册码进行加密生成最终注册码。

在其中一个实施例中,所述注册信息包括注册类型标识及对应的限制值。

在其中一个实施例中,所述机器编码获取模块还用于接收软件注册终端发送的注册码生成请求,获取所述注册码生成请求中携带的软件注册终端对应的机器编码;或获取输入的软件注册终端对应的机器编码。

上述注册码生成方法和装置,根据软件注册终端对应的GUID码确定机器编码,将确定后的机器编码联合注册信息生成原始注册码,将确定的机器编码作为密钥对原始注册码进行加密生成最终注册码。这样在使用最终注册码进行软件注册时,必须要使用与加密密钥一致的机器编码才能成功解密最终注册码,从而完成软件注册。而基于GUID码会随界面显示状态的变化被终端进行更新的特性,如果在其他终端上使用该已注册过的最终注册码注册,是无法获取与加密密钥一致的机器编码的,因此不能解密最终注册码,从而有效防止了使用已注册过注册码进行重复注册。

附图说明

图1为一个实施例中软件注册方法的流程示意图;

图2为一个实施例中请求生成最终注册码的方法的流程示意图;

图3为一个实施例中注册码生成方法的流程示意图;

图4为一个实施例中软件注册装置的结构示意图;

图5为另一个实施例中软件注册装置的结构示意图;

图6为一个实施例中注册码生成装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种软件注册方法,该方法具体包括以下步骤:

步骤102,接收注册界面运行指令,根据注册界面运行指令运行注册界面并获取软件注册终端对应的GUID码,根据GUID码确定机器编码。

本实施例中,软件注册终端指当前进行软件注册的终端,该软件注册终端具有显示屏,可以是PC机、笔记本电脑或平板电脑等终端。

GUID码(GloballyUniqueIdentifier),是全局唯一标识符,是一种由算法生成的二进制长度为128位的数字标识符,其中GUID码的算法通常都加入了非随机的参数,因此,不同电脑间产生的GUID码基本上不同。且目前GUID码的生成过程目前也无法人为修改。

软件注册用户(简称用户)通过软件注册终端进行运行注册界面的操作,具体的,用户可以通过点击按钮、图标或者快捷键等方式来运行注册界面。进一步,待注册软件通过软件注册终端接收注册界面运行指令,根据注册界面运行指令运行注册界面,并调用微软的官方函数获取该软件注册终端对应的GUID码。进一步根据该GUID码确定机器编码。

其中,根据该GUID码确定机器编码的步骤,可以是将该GUID码本身确定为机器编码。也可以是对GUID码进行处理后得到机器编码,具体的处理可以是改变GUID码的格式,比如GUID码本身格式是XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX,将其处理成为XXXXXXXXXX-XXXXXXXX-XXXXXXXXXXXX-XX的格式,将经过格式处理后的GUID码作为机器编码。可以理解,对GUID码的处理还可以包括对其形式上的处理,比如将所有小写字母改成大写字母等处理。

进一步,可以将根据GUID码确定的机器编码在注册界面上进行显示。

步骤104,接收注册指令,根据注册指令获取输入的最终注册码。

本实施例中,用户通过注册界面输入最终注册码,并通过点击注册按钮或使用组合快捷键等方式来进行注册操作,待注册软件通过注册界面接收注册指令,并根据注册指令获取用户输入的最终注册码。其中,最终注册码是用于软件注册的注册码,具体是经过步骤102中的机器编码作为密钥进行加密得到的最终注册码,具体的,可以是通过将机器编码作为密钥进行对称加密算法得到最终注册码,可以理解,也可以使用其他能够使加密密钥与解密密钥一致的加密算法。

需要说明的是,最终注册码是由注册码生成端生成的,具体是根据步骤102机器编码以及用户提供的注册信息生成原始注册码,然后根据机器编码对原始注册码进行加密得到最终注册码。

在一个实施例中,注册码生成端可以是注册码生成终端,该注册码生成终端运行了一个可以生成注册码的软件。本实施例中,用户通过线上(比如邮件、即时通信工具等方式)或线下(打电话、发短信等方式)的方式告知注册码生成操作人员在步骤102中的机器编码及注册信息,注册码生成操作人员通过运行于注册码生成终端的注册码生成软件,根据获知的机器编码及用户注册信息生成原始注册码,并将获知的机器编码作为密钥对原始注册码进行加密生成最终注册码。

在另一个实施例中,注册码生成端可以是服务器。本实施例中,软件注册终端将机器编码和注册信息发送给服务器,使服务器根据机器编码和注册信息生成原始注册码,并将机器编码作为密钥对原始注册码进行加密生成最终注册码。

步骤106,将机器编码作为密钥对最终注册码进行解密得到原始注册码。

步骤108,对原始注册码进行解析得到注册信息,将注册信息进行关联存储。

在获取最终注册码之后,将机器编码作为密钥对最终注册码进行解密得到原始注册码。进一步,对原始注册码进行解析得到注册信息,并将注册信息进行关联存储。

在一个实施例中,从根据注册界面运行指令运行注册界面到将机器编码作为密钥对最终注册码进行解密的过程中,保持注册界面一直处于当前运行界面状态。

本实施例中基于GUID码会随界面的显示状态的变化被终端进行更新的特性,若在完成对最终注册码进行解密之前,使注册界面处于非当前运行界面状态,那么再次回到注册界面时,软件注册终端会更新GUID码,进而机器编码也会进行更新,那么,对最终注册码进行解密的机器编码就会与加密的机器编码不一致,导致解密失败,软件注册不成功。因此,在使用已注册过的最终注册码进行重复注册时,无法再获取到与加密密钥相同的机器编码来进行解密,且由于目前GUID码生成过程是无法人为干扰和修改的,因此也不可能将机器编码修改成与加密密钥一致,从而防止使用已注册过的注册码进行重复注册。

在一个实施例中,注册信息包括注册类型标识及对应的限制值。具体的,注册类型可以是时间或次数,即根据时间或次数来限制注册软件的使用期限。其中,与时间类型标识对应的限制值即为具体的使用时间阈值,与次数类型标识对应的限制值即为具体的使用次数阈值。

如图2所示,在一个实施例中,在接收注册指令的步骤之前,还包括请求生成最终注册码的步骤,具体包括以下步骤:

步骤202,获取输入的注册信息。

本实施例中,软件注册用户通过注册界面输入注册信息,其中用户输入可以是手动输入或者通过点击选择框中的选项来进行注册信息的输入。进一步根据用户输入操作获取对应的注册信息,其中注册信息包括注册类型标识及对应的限制值。

步骤204,根据机器编码及注册信息生成注册码生成请求发送至服务器,使服务器根据机器编码及注册信息生成原始注册码,并将机器编码作为密钥对原始注册码进行加密生成最终注册码。

进一步,软件注册终端根据确定的机器编码及获取的注册信息生成注册码生成请求发送至服务器。服务器接收并解析注册码生成请求,根据解析得到的机器编码及注册信息生成原始注册码,将机器编码作为密钥对原始注册码进行加密生成最终注册码,具体的,可以是通过将机器编码作为密钥进行对称加密算法得到最终注册码,可以理解,也可以使用其他能够使加密密钥与解密密钥一致的加密算法。

步骤206,接收服务器返回的最终注册码,并将最终注册码进行显示。

服务器会将生成的最终注册码返回至软件注册终端,运行于软件注册终端的待注册软件会将最终注册码在注册界面上进行显示。

在一个实施例中,将注册信息进行存储备份的步骤(简称注册信息存储步骤)包括:将注册信息加密并存储在注册表预设存储路径下。

在另一个实施例中,将注册信息进行存储备份的步骤包括:将注册信息存储在软件根目录下的对应文件中。具体的,可以是将注册信息存储在软件根目录的A文件夹下的B文件中。

可以理解,可以在将注册信息加密存储在注册表预设存储路径下的同时,也将注册信息存储在软件根目录下的对应文件中。本发明实施例对注册信息的存储形式不做具体限定。

如图3所示,在一个实施例中,还提供了一种注册码生成方法,该方法具体包括以下步骤:

步骤302,获取软件注册终端对应的机器编码,该机器编码根据软件注册终端对应的GUID码确定。

需要说明的是,本实施例中的注册码生成方法可以应用于生成注册码的服务器中,也可以应用于生成注册码的终端中。

其中,机器编码是预先由运行于软件注册终端的待注册软件根据软件注册终端对应的GUID码确定的。进一步,机器编码可以是GUID码本身,也可以是对GUID码进行格式处理后得到机器编码。

可以理解,在一个实施例中,可以是接收软件注册终端发送的注册码生成请求,获取注册码生成请求中携带软件注册终端对应的机器编码。具体的,运行于软件注册终端的待注册软件向服务器发送注册码生成请求,其中,注册码生成请求中携带软件注册终端对应的机器编码,进而服务器获取注册码生成请求中携带的软件注册终端对应的机器编码。

在另一实施例中,也可以是获取输入的软件注册终端对应的机器编码,具体的,软件注册用户通过线上(比如邮件、即时通信工具等方式)或线下(打电话、发短信等方式)的方式将软件注册终端对应的机器编码告知注册码生成操作人员,注册码生成操作人员将获知的机器编码输入注册码生成终端,进而注册码生成终端获取输入的软件注册终端对应的机器编码。

步骤304,获取注册信息。

具体的,在一个实施例中,可以是获取软件注册终端发送的注册码生成请求中携带的注册信息。具体的,软件注册用户通过软件注册终端运行的软件注册界面输入注册信息,运行于软件注册终端的待注册软件向服务器发送的注册码生成请求中携带该注册信息,进而服务器获取注册码生成请求中携带的注册信息。

在另一个实施例中,也可以是获取输入的注册信息。具体的,软件注册用户通过线上(比如邮件、即时通信工具等方式)或线下(打电话、发短信等方式)的方式将注册信息告知注册码生成操作人员,注册码生成操作人员将获知的注册信息输入注册码生成终端,进而注册码生成终端获取输入的注册信息。

进一步,注册信息包括注册类型标识及对应的限制值。具体的,注册类型可以是时间或次数,即根据时间或次数来限制注册软件的使用期限。其中,与时间类型标识对应的限制值即为具体的使用时间阈值。与次数类型标识对应的限制值即为具体的使用次数阈值。

可以理解,步骤302及步骤304的执行先后顺序不作限定。

步骤306,根据机器编码及注册信息生成原始注册码。

具体的,可以根据机器编码、注册类型标识及对应的限制值进行任意排序组合生成原始注册码,也可以是将机器编码、注册类型标识及对应的限制值进行乱序重组生成原始注册码。还可以是根据机器编码及注册类型标识及对应的限制值进行特定的算法得出原始注册码。需要说明的是,本发明实施例对此不作限定,只需满足原始注册码是基于机器编码及注册信息生成即可。

步骤308,将机器编码作为密钥对原始注册码进行加密生成最终注册码。

进一步,将获取的机器编码作为密钥对原始注册码进行加密生成最终注册码,其中,可以是通过将机器编码作为密钥进行对称加密算法得到最终注册码,具体的,可以通过DES算法、3DES算法等对称加密算法,将获取的机器编码作为密钥对原始注册码进行对称加密生成最终注册码。可以理解,也可以使用其他能够使加密密钥与解密密钥一致的加密算法。

本实施例中,根据软件注册终端对应的GUID码确定机器编码,将确定后的机器编码联合注册信息生成原始注册码,将确定的机器编码作为密钥对原始注册码进行对称加密生成最终注册码。这样在使用最终注册码进行软件注册时,必须要使用与加密密钥一致的机器编码才能成功解密最终注册码,从而完成软件注册。而基于GUID码会随界面显示状态的变化被终端进行更新的特性,如果在其他终端上使用该已注册过的最终注册码注册,待注册软件是无法获取与加密密钥一致的机器编码的,因此不能解密最终注册码,从而有效防止了使用已注册过的注册码进行重复注册。

如图4所示,在一个实施例中,提供了一种软件注册装置,该装置包括以下模块:

机器编码确定模块402,用于接收注册界面运行指令,根据注册界面运行指令运行注册界面并获取软件注册终端对应的GUID码,根据GUID码确定机器编码。

获取模块406,用于接收注册指令,根据注册指令获取输入的最终注册码。

解密模块408,用于将机器编码作为密钥对最终注册码进行解密得到原始注册码。

关联存储模块410,用于对原始注册码进行解析得到注册信息,将注册信息进行关联存储。

在一个实施例中,从根据注册界面运行指令运行注册界面到将机器编码作为密钥对最终注册码进行解密的过程中,保持注册界面一直处于当前运行界面状态。

在一个实施例中,机器编码是GUID码本身或对GUID码进行处理后得到的机器编码。

在一个实施例中,注册信息包括注册类型标识及对应的限制值。

在一个实施例中,获取模块406还用于获取输入的注册信息。如图5所示,本实施例中,该装置还包括:

注册码生成请求模块404,用于根据机器编码及注册信息生成注册码生成请求发送至服务器,使服务器根据机器编码及注册信息生成原始注册码,并将机器编码作为密钥对原始注册码进行加密生成最终注册码。

显示模块405,用于接收服务器返回的最终注册码,并将最终注册码进行显示。

在一个实施例中,关联存储模块410还用于将注册信息加密并存储在注册表预设存储路径下;和/或将注册信息存储在软件根目录下的对应文件中。

如图6所示,在一个实施例中,提供一种注册码生成装置,该装置包括以下模块:

机器编码获取模块602,用于获取软件注册终端对应的机器编码,该机器编码根据所述软件注册终端对应的GUID码确定。

注册信息获取模块604,用于获取注册信息。

注册码生成模块606,用于根据机器编码及注册信息生成原始注册码;将机器编码作为密钥对原始注册码进行加密生成最终注册码。

在一个实施例中,注册信息包括注册类型标识及对应的限制值。

在一个实施例中,机器编码获取模块602还用于接收软件注册终端发送的注册码生成请求,获取注册码生成请求中携带的软件注册终端对应的机器编码;或获取输入的软件注册终端对应的机器编码。

可以理解,上述方法和装置可以应用于包括但不限于医疗仪器。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号