[go: up one dir, main page]

CN104123482B - Method for generating machine code and registration code and method for software registration and function limiting - Google Patents

Method for generating machine code and registration code and method for software registration and function limiting Download PDF

Info

Publication number
CN104123482B
CN104123482B CN201410322559.6A CN201410322559A CN104123482B CN 104123482 B CN104123482 B CN 104123482B CN 201410322559 A CN201410322559 A CN 201410322559A CN 104123482 B CN104123482 B CN 104123482B
Authority
CN
China
Prior art keywords
character
group
mathematical operation
ascii code
predetermined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410322559.6A
Other languages
Chinese (zh)
Other versions
CN104123482A (en
Inventor
曾虹云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pangang Group Panzhihua Steel and Vanadium Co Ltd
Original Assignee
Pangang Group Panzhihua Steel and Vanadium Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pangang Group Panzhihua Steel and Vanadium Co Ltd filed Critical Pangang Group Panzhihua Steel and Vanadium Co Ltd
Priority to CN201410322559.6A priority Critical patent/CN104123482B/en
Publication of CN104123482A publication Critical patent/CN104123482A/en
Application granted granted Critical
Publication of CN104123482B publication Critical patent/CN104123482B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

提供了一种生成机器码和注册码的方法及软件注册和功能限制的方法,其中,生成机器码的步骤为:获取计算机的设备信息;将设备信息中的每个字符进行加密,以产生第一字符串;确定第一字符串中的每个字符所对应的字符组;将第一字符串中的每个字符替换为对应的字符组中的任意一个字符,以形成机器码。本发明能够有效的保护软件开发成果。

Provided are a method for generating a machine code and a registration code, and a method for software registration and function restriction, wherein the steps of generating the machine code are: obtaining device information of a computer; encrypting each character in the device information to generate the first A character string; determining a character group corresponding to each character in the first character string; replacing each character in the first character string with any character in the corresponding character group to form a machine code. The invention can effectively protect software development results.

Description

生成机器码和注册码的方法及软件注册和功能限制的方法Method for generating machine code and registration code and method for software registration and function limitation

技术领域technical field

本发明涉及软件验证领域,更具体地讲,涉及一种生成机器码和注册码的方法及软件注册和限制软件功能的方法。The invention relates to the field of software verification, more specifically, to a method for generating machine codes and registration codes, and a method for software registration and software function limitation.

背景技术Background technique

目前,软件开发商为了保护自身的利益,会对软件开发成果进行保护。通常的作法有:用户在购买了软件后,软件开发商会向用户提供一个注册码,以使用户根据该注册码进行注册并使用软件。或者是,用户在购买了软件后,运行安装程序产生一个机器码,然后用户将机器码发给软件开发商,由软件开发商根据该机器码生成相应的注册码,并将注册码提供给用户以使用户进行注册并使用软件。然而通过传统方法生成的机器码和注册码存在下述问题:At present, in order to protect their own interests, software developers will protect software development achievements. The usual practice is: after the user purchases the software, the software developer will provide the user with a registration code, so that the user can register and use the software according to the registration code. Or, after purchasing the software, the user runs the installation program to generate a machine code, and then the user sends the machine code to the software developer, and the software developer generates a corresponding registration code based on the machine code, and provides the registration code to the user To enable users to register and use the software. However, the machine code and registration code generated by traditional methods have the following problems:

1.注册码可以多次在多台计算机上进行注册;1. The registration code can be registered on multiple computers multiple times;

2.注册码只能在一台计算机上注册,但由于注册码的生成方法过于简单,容易被破解。2. The registration code can only be registered on one computer, but because the generation method of the registration code is too simple, it is easy to be cracked.

因此,需要一种有效保护软件开发成果的方法。Therefore, a method for effectively protecting software development results is needed.

发明内容Contents of the invention

本发明的目的在于提供一种生成机器码和注册码的方法及软件注册和限制软件功能的方法,其能够有效的保护软件开发成果。The purpose of the present invention is to provide a method for generating machine codes and registration codes and a method for software registration and software function limitation, which can effectively protect software development achievements.

本发明的一方面在于提供一种生成机器码的方法,包括如下步骤:获取计算机的设备信息;将设备信息中的每个字符进行加密,以产生第一字符串;确定第一字符串中的每个字符所对应的字符组;将第一字符串中的每个字符替换为对应的字符组中的任意一个字符,以形成机器码。One aspect of the present invention is to provide a method for generating machine codes, comprising the steps of: obtaining device information of a computer; encrypting each character in the device information to generate a first character string; determining the characters in the first character string The character group corresponding to each character; replace each character in the first string with any character in the corresponding character group to form a machine code.

可选地,所述设备信息包括:所述计算机的至少一个硬件序列号的部分或全部的组合。Optionally, the device information includes: a combination of part or all of at least one hardware serial number of the computer.

可选地,将设备信息中的每个字符进行加密,以产生第一字符串的步骤包括:将设备信息中的每个字符替换为对应的ASCII码值,以产生ASCII码值组;将ASCII码值组中的每个ASCII码值与第一预设值进行预定数学运算;将进行预定数学运算后得到的结果按照ASCII码值组中的对应的ASCII码值的顺序排列以产生第一字符串。Optionally, the step of encrypting each character in the device information to generate the first character string includes: replacing each character in the device information with a corresponding ASCII code value to generate an ASCII code value group; Each ASCII code value in the code value group is subjected to a predetermined mathematical operation with the first preset value; the results obtained after performing the predetermined mathematical operation are arranged in the order of the corresponding ASCII code values in the ASCII code value group to generate the first character string.

可选地,将ASCII码值组中的每个ASCII码值与第一预设值进行预定数学运算的步骤包括:按照预定规则将ASCII码值组中的ASCII码值划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;将每个ASCII码值与第一预设值进行每个ASCII码值所在组所对应的预定数学运算。Optionally, the step of performing a predetermined mathematical operation with each ASCII code value in the ASCII code value group and the first preset value includes: dividing the ASCII code values in the ASCII code value group into N groups according to predetermined rules, wherein , N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; each ASCII code value and the first preset value are subjected to a predetermined mathematical operation corresponding to the group in which each ASCII code value is located.

可选地,将ASCII码值组中的每个ASCII码值与第一预设值进行预定数学运算的步骤还包括:确定每个ASCII码值与第一预设值进行预定数学运算后得到的结果的位数是否达到预定位数,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;在没有达到预定位数的结果之前补充零值,以使该结果达到预定位数。Optionally, the step of performing a predetermined mathematical operation on each ASCII code value in the ASCII code value group and the first preset value further includes: determining that each ASCII code value is obtained after performing a predetermined mathematical operation on the first preset value Whether the number of digits of the result reaches the predetermined number of digits, wherein the predetermined number of digits is the number of digits of the result obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values in the ASCII code table and the first preset value respectively The maximum number of digits in ; zero values are added before a result that does not reach the predetermined number of digits, so that the result reaches the predetermined number of digits.

可选地,N为2,与第一组对应的预定数学运算为加法、减法和乘法中的一种数学运算,与第二组对应的预定数学运算为加法、减法和乘法中的另一种数学运算。Optionally, N is 2, the predetermined mathematical operation corresponding to the first group is one of addition, subtraction and multiplication, and the predetermined mathematical operation corresponding to the second group is another one of addition, subtraction and multiplication computation.

可选地,N为3,与第一组对应的预定数学运算为乘法,与第二组对应的预定数学运算为加法,与第三组对应的预定数学运算为减法。Optionally, N is 3, the predetermined mathematical operation corresponding to the first group is multiplication, the predetermined mathematical operation corresponding to the second group is addition, and the predetermined mathematical operation corresponding to the third group is subtraction.

可选地,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。Optionally, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

本发明的另一方面在于提供一种生成注册码的方法,包括如下步骤:接收机器码;确定机器码中的每个字符所对应的字符组;将机器码中的每个字符替换为对应的字符组所对应的字符,以得到第一字符串;对第一字符串进行解密,以得到解密信息;将所述解密信息中的每个字符进行加密,以产生第二字符串;确定第二字符串中的每个字符所对应的字符组;将第二字符串中的每个字符替换为对应的字符组中的任意一个字符,以形成注册码。Another aspect of the present invention is to provide a method for generating a registration code, comprising the steps of: receiving a machine code; determining the character group corresponding to each character in the machine code; replacing each character in the machine code with a corresponding Characters corresponding to the character group to obtain a first character string; decrypt the first character string to obtain decrypted information; encrypt each character in the decrypted information to generate a second character string; determine the second character string A character group corresponding to each character in the character string; replacing each character in the second character string with any character in the corresponding character group to form a registration code.

可选地,对第一字符串进行解密,以得到解密信息的步骤包括:将第一字符串划分为多个部分;将第一字符串划分后的每个部分与第一预设值进行预定数学运算;将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。Optionally, the step of decrypting the first character string to obtain the decryption information includes: dividing the first character string into a plurality of parts; Mathematical operation: replace each numerical value obtained by the predetermined mathematical operation with the corresponding ASCII code character, so as to obtain decryption information.

可选地,将第一字符串划分为多个部分的步骤包括:以预定位数为单位将第一字符串中的字符划分为多个部分,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;将每个部分的从左起第一个不为零的字符的左侧的零值去除。Optionally, the step of dividing the first character string into a plurality of parts includes: dividing characters in the first character string into a plurality of parts in units of predetermined digits, wherein the predetermined digits are in the ASCII code table The maximum number of digits in the number of digits of the results obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values of the first preset value; the first non-zero character from the left of each part Zero values on the left side of .

可选地,将第一字符串划分后的每个部分与第一预设值进行预定数学运算的步骤包括:按照预定规则将所述多个部分划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;将每个部分与第一预设值进行每个部分所在组所对应的预定数学运算。Optionally, the step of performing a predetermined mathematical operation on each part after the first character string is divided and a first preset value includes: dividing the plurality of parts into N groups according to a predetermined rule, wherein N is greater than zero Each group corresponds to a predetermined mathematical operation; each part and the first preset value are subjected to the predetermined mathematical operation corresponding to the group in which each part belongs.

可选地,将解密信息中的每个字符进行加密,以产生第二字符串的步骤包括:将解密信息中的每个字符替换为对应的ASCII码值,以产生ASCII码值组;将ASCII码值组中的每个ASCII码值与第二预设值进行预定数学运算;将进行预定数学运算后得到的结果按照ASCII码值组中的对应的ASCII码值的顺序排列以产生第二字符串。Optionally, the step of encrypting each character in the decrypted information to generate a second character string includes: replacing each character in the decrypted information with a corresponding ASCII code value to generate an ASCII code value group; Each ASCII code value in the code value group is subjected to a predetermined mathematical operation with a second preset value; the results obtained after performing the predetermined mathematical operation are arranged in the order of the corresponding ASCII code values in the ASCII code value group to generate the second character string.

可选地,将ASCII码值组中的每个ASCII码值与第二预设值进行预定数学运算的步骤包括:按照预定规则将ASCII码值组中的ASCII码值划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;将每个ASCII码值与第二预设值进行每个ASCII码值所在组所对应的预定数学运算。Optionally, the step of performing a predetermined mathematical operation with each ASCII code value in the ASCII code value group and the second preset value includes: dividing the ASCII code values in the ASCII code value group into N groups according to predetermined rules, wherein , N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; each ASCII code value and the second preset value are subjected to a predetermined mathematical operation corresponding to the group in which each ASCII code value belongs.

可选地,将ASCII码值组中的每个ASCII码值与第二预设值进行预定数学运算的步骤还包括:确定每个ASCII码值与第二预设值进行预定数学运算后得到的结果的位数是否达到预定位数,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第二预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;在没有达到预定位数的结果之前补充零值,以使该结果达到预定位数。Optionally, the step of performing a predetermined mathematical operation on each ASCII code value in the ASCII code value group and the second preset value further includes: determining that each ASCII code value is obtained after performing a predetermined mathematical operation on the second preset value Whether the number of digits of the result reaches a predetermined number of digits, wherein the predetermined number of digits is the number of digits of the result obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values in the ASCII code table and the second preset value respectively The maximum number of digits in ; zero values are added before a result that does not reach the predetermined number of digits, so that the result reaches the predetermined number of digits.

可选地,N为2,与第一组对应的预定数学运算为加法、减法和乘法中的一种数学运算,与第二组对应的预定数学运算为加法、减法和乘法中的另一种数学运算。Optionally, N is 2, the predetermined mathematical operation corresponding to the first group is one of addition, subtraction and multiplication, and the predetermined mathematical operation corresponding to the second group is another one of addition, subtraction and multiplication computation.

可选地,N为3,与第一组对应的预定数学运算为乘法,与第二组对应的预定数学运算为加法,与第三组对应的预定数学运算为减法。Optionally, N is 3, the predetermined mathematical operation corresponding to the first group is multiplication, the predetermined mathematical operation corresponding to the second group is addition, and the predetermined mathematical operation corresponding to the third group is subtraction.

可选地,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。Optionally, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

本发明的另一方面在于提供一种软件注册的方法,包括如下步骤:获取注册码;确定注册码中的每个字符所对应的字符组;将注册码中的每个字符替换为对应的字符组所对应的字符,以得到第二字符串;对第二字符串进行解密,以得到解密信息;获取计算机的设备信息;判断解密信息与获取的设备信息是否一致;如果解密信息与获取的设备信息一致,则确定软件通过注册。Another aspect of the present invention is to provide a method for software registration, comprising the steps of: obtaining a registration code; determining the character group corresponding to each character in the registration code; replacing each character in the registration code with a corresponding character The characters corresponding to the group to obtain the second character string; decrypt the second character string to obtain the decrypted information; obtain the device information of the computer; judge whether the decrypted information is consistent with the obtained device information; if the decrypted information is consistent with the obtained device If the information is consistent, it is determined that the software has passed the registration.

可选地,还包括:在确定软件通过注册之后,在预置路径下创建注册文件,将注册码写入到注册文件中,并将注册文件的创建时间修改为过去时间,文件属性设置为隐藏。Optionally, it also includes: after determining that the software has passed the registration, create a registration file under the preset path, write the registration code into the registration file, modify the creation time of the registration file to past time, and set the file attribute to hidden .

可选地,如果解密信息与获取的设备信息不一致,则提示注册码错误。Optionally, if the decrypted information is inconsistent with the obtained device information, a prompt indicating that the registration code is wrong.

可选地,对第二字符串进行解密,以得到解密信息的步骤包括:将第二字符串划分为多个部分;将第二字符串划分后的每个部分与第二预设值进行预定数学运算;将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。Optionally, the step of decrypting the second character string to obtain the decryption information includes: dividing the second character string into a plurality of parts; Mathematical operation: replace each numerical value obtained by the predetermined mathematical operation with the corresponding ASCII code character, so as to obtain decryption information.

可选地,将第二字符串划分为多个部分的步骤包括:以预定位数为单位将第二字符串中的字符划分为多个部分,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第二预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;将每个部分的从左起第一个不为零的字符的左侧的零值去除。Optionally, the step of dividing the second character string into a plurality of parts comprises: dividing characters in the second character string into a plurality of parts in units of a predetermined number of digits, wherein the predetermined number of digits is in the ASCII code table The maximum number of digits in the number of digits of the result obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values of the second preset value; the first character from the left of each part that is not zero Zero values on the left side of .

可选地,将第二字符串划分后的每个部分与第二预设值进行预定数学运算的步骤包括:按照预定规则将所述多个部分划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;将每个部分与第二预设值进行每个部分所在组所对应的预定数学运算。Optionally, the step of performing a predetermined mathematical operation on each part after the second character string is divided and a second preset value includes: dividing the plurality of parts into N groups according to a predetermined rule, wherein N is greater than zero Each group corresponds to a predetermined mathematical operation; each part and the second preset value are subjected to the predetermined mathematical operation corresponding to the group in which each part belongs.

可选地,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。Optionally, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

本发明的另一方面在于提供一种限制软件功能的方法,包括如下步骤:启动软件时查找预置路径下的注册文件;读取注册文件中的注册码;确定注册码中的每个字符所对应的字符组;将注册码中的每个字符替换为对应的字符组所对应的字符,以得到第二字符串;对第二字符串进行解密,以得到解密信息;获取计算机的设备信息;判断解密信息与获取的设备信息是否一致;如果解密信息与获取的设备信息一致,则开放软件全部功能。Another aspect of the present invention is to provide a method for limiting software functions, comprising the steps of: searching for a registration file under a preset path when starting the software; reading the registration code in the registration file; a corresponding character group; replacing each character in the registration code with a character corresponding to the corresponding character group to obtain a second character string; decrypting the second character string to obtain decrypted information; obtaining computer device information; Determine whether the decrypted information is consistent with the obtained device information; if the decrypted information is consistent with the obtained device information, all functions of the software will be released.

可选地,如果解密信息与获取的设备信息不一致,则开放软件部分功能。Optionally, if the decrypted information is inconsistent with the obtained device information, some functions of the software are released.

可选地,对第二字符串进行解密,以得到解密信息的步骤包括:将第二字符串划分为多个部分;将第二字符串划分后的每个部分与第二预设值进行预定数学运算;将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。Optionally, the step of decrypting the second character string to obtain the decryption information includes: dividing the second character string into a plurality of parts; Mathematical operation: replace each numerical value obtained by the predetermined mathematical operation with the corresponding ASCII code character, so as to obtain decryption information.

可选地,将第二字符串划分为多个部分的步骤包括:以预定位数为单位将第二字符串中的字符划分为多个部分,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第二预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;将每个部分的从左起第一个不为零的字符的左侧的零值去除。Optionally, the step of dividing the second character string into a plurality of parts comprises: dividing characters in the second character string into a plurality of parts in units of a predetermined number of digits, wherein the predetermined number of digits is in the ASCII code table The maximum number of digits in the number of digits of the result obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values of the second preset value; the first character from the left of each part that is not zero Zero values on the left side of .

可选地,将第二字符串划分后的每个部分与第二预设值进行预定数学运算的步骤包括:按照预定规则将所述多个部分划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;将每个部分与第二预设值进行每个部分所在组所对应的预定数学运算。Optionally, the step of performing a predetermined mathematical operation on each part after the second character string is divided and a second preset value includes: dividing the plurality of parts into N groups according to a predetermined rule, wherein N is greater than zero Each group corresponds to a predetermined mathematical operation; each part and the second preset value are subjected to the predetermined mathematical operation corresponding to the group in which each part belongs.

可选地,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。Optionally, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

根据本发明的生成机器码和注册码的方法及软件注册和限制软件功能的方法,能够有效的保护软件开发成果。According to the method for generating machine codes and registration codes and the method for software registration and limiting software functions of the present invention, software development results can be effectively protected.

附图说明Description of drawings

通过下面结合附图进行的详细描述,本发明的上述和其它、特定和优点将会变得更加清楚,其中:The above and other, specific and advantages of the present invention will become clearer through the following detailed description in conjunction with the accompanying drawings, wherein:

图1示出根据本发明的实施例的生成机器码的方法的流程图;Fig. 1 shows the flowchart of the method for generating machine code according to an embodiment of the present invention;

图2示出根据本发明的实施例的将设备信息中的每个字符进行加密产生第一字符串的方法的流程图;FIG. 2 shows a flowchart of a method for encrypting each character in device information to generate a first character string according to an embodiment of the present invention;

图3示出根据本发明的实施例的生成注册码的方法的流程图;3 shows a flow chart of a method for generating a registration code according to an embodiment of the present invention;

图4示出根据本发明的实施例的对第一字符串进行解密得到解密信息的方法的流程图;FIG. 4 shows a flow chart of a method for decrypting a first character string to obtain decrypted information according to an embodiment of the present invention;

图5示出根据本发明的实施例的软件注册的方法的流程图;Fig. 5 shows the flowchart of the method for software registration according to an embodiment of the present invention;

图6示出根据本发明的实施例的限制软件功能的方法的流程图。Fig. 6 shows a flowchart of a method for limiting software functions according to an embodiment of the present invention.

具体实施方式detailed description

现在,将参照附图更充分地描述示例实施例,其中,一些示例性实施例在附图中示出。Example embodiments will now be described more fully with reference to the accompanying drawings, in which some example embodiments are shown.

图1示出根据本发明的实施例的生成机器码的方法的流程图。Fig. 1 shows a flowchart of a method for generating machine codes according to an embodiment of the present invention.

如图1所示,在步骤101,获取计算机的设备信息。设备信息包括:所述计算机的至少一个硬件序列号的部分或全部的组合。例如,硬件序列号可以为所述设备的CPU序列号、硬盘序列号、网卡序列号、显卡序列号等,设备信息可以为CPU序列号、硬盘序列号、网卡序列号、显卡序列号等之中的一个序列号的部分或多个序列号的部分的组合,也可以为CPU序列号、硬盘序列号、网卡序列号、显卡序列号等之中的一个序列号的全部或多个序列号的全部的组合。例如,可通过计算机的操作系统获取设备信息。As shown in FIG. 1 , at step 101 , device information of a computer is acquired. The device information includes: a combination of part or all of at least one hardware serial number of the computer. For example, the hardware serial number can be the CPU serial number, hard disk serial number, network card serial number, graphics card serial number, etc. of the device, and the device information can be the CPU serial number, hard disk serial number, network card serial number, graphics card serial number, etc. Part of a serial number or a combination of parts of multiple serial numbers, it can also be all of a serial number or all of multiple serial numbers among the CPU serial number, hard disk serial number, network card serial number, graphics card serial number, etc. The combination. For example, device information can be obtained through the computer's operating system.

在一个示例中,获取的设备信息可以为硬盘序列号的部分,硬盘序列号为“JP2940J82STPVV”,设备信息可为“JP2940J8”。In an example, the obtained device information may be a part of the hard disk serial number, the hard disk serial number is "JP2940J82STPVV", and the device information may be "JP2940J8".

在步骤102,将设备信息中的每个字符进行加密,以产生第一字符串。可利用各种加密算法对字符进行加密。In step 102, each character in the device information is encrypted to generate a first character string. Characters can be encrypted using various encryption algorithms.

下面结合图2描述根据本发明的实施例的将设备信息中的每个字符进行加密产生第一字符串的方法。A method for encrypting each character in device information to generate a first character string according to an embodiment of the present invention will be described below with reference to FIG. 2 .

图2示出根据本发明的实施例的将设备信息中的每个字符进行加密产生第一字符串的方法的流程图。Fig. 2 shows a flowchart of a method for encrypting each character in device information to generate a first character string according to an embodiment of the present invention.

在步骤201,将设备信息中的每个字符替换为对应的ASCII码值,以产生ASCII码值组。这里,替换是基于美国信息交换标准码表(ASCII码表)进行的。即,在ASCII码表中查找到与字符相对应的数值,并将字符替换为该相对应的数值,以产生ASCII码值组。In step 201, each character in the device information is replaced with a corresponding ASCII code value to generate an ASCII code value group. Here, the replacement is performed based on the American Standard Code Table for Information Interchange (ASCII Code Table). That is, find the numerical value corresponding to the character in the ASCII code table, and replace the character with the corresponding numerical value, so as to generate an ASCII code value group.

在一个示例中,将获取的设备信息“JP2940J8”替换为相对应的ASCII码值得到的ASCII码值组为:74 80 50 57 52 48 74 56。In an example, the ASCII code value group obtained by replacing the obtained device information "JP2940J8" with the corresponding ASCII code value is: 74 80 50 57 52 48 74 56.

在步骤202,按照预定规则将ASCII码值组中的ASCII码值划分为N(N为大于零的自然数)个组,每个组对应于一种预定数学运算。这里的预定规则可以是各种能够进行分组的方法。例如,可以按预定个数进行分组、按奇数位置和偶数位置进行分组。例如,每个组对应的预定数学运算可以为加法、减法和乘法中的一种。应该理解,预定数学运算不限于此。In step 202, the ASCII code values in the ASCII code value group are divided into N (N is a natural number greater than zero) groups according to predetermined rules, and each group corresponds to a predetermined mathematical operation. The predetermined rules here may be various methods capable of grouping. For example, grouping by a predetermined number, grouping by odd-numbered positions and even-numbered positions may be performed. For example, the predetermined mathematical operation corresponding to each group may be one of addition, subtraction and multiplication. It should be understood that the predetermined mathematical operation is not limited thereto.

应该理解,当N=1时,将ASCII码值组中的全部ASCII码值划分为1个组。换言之,不对ASCII码值组进行划分。同时,在N=1时,ASCII码值组中的每个ASCII码值均进行相同的预定数学运算。预定数学运算可以为加法、减法或乘法。It should be understood that when N=1, all the ASCII code values in the ASCII code value group are divided into one group. In other words, the group of ASCII code values is not divided. Meanwhile, when N=1, each ASCII code value in the ASCII code value group performs the same predetermined mathematical operation. The predetermined mathematical operation may be addition, subtraction or multiplication.

在一个示例中,将ASCII码值组“74 80 50 57 52 48 74 56”以4个为单位划分为2个组,第一组为:74 80 50 57,第二组为:52 48 74 56。第一组所对应的预定数学运算为加法,第二组所对应的预定数学运算为减法。In an example, the ASCII code value group "74 80 50 57 52 48 74 56" is divided into 2 groups in units of 4, the first group is: 74 80 50 57, and the second group is: 52 48 74 56 . The predetermined mathematical operation corresponding to the first group is addition, and the predetermined mathematical operation corresponding to the second group is subtraction.

在步骤203,将每个ASCII码值与第一预设值进行每个ASCII码值所在组所对应的预定数学运算。即,在步骤202分组后的每个组对应一种预定数学运算,每个组中的ASCII码值与第一预设值进行所在组所对应的一种预定数学运算。例如:步骤202中的N为2时,与第一组对应的预定数学运算可以为加法、减法和乘法中的一种数学运算,与第二组对应的预定数学运算可以为加法、减法和乘法中的另一种数学运算。步骤202中的N为3时,与第一组对应的预定数学运算可以为乘法,与第二组对应的预定数学运算可以为加法,与第三组对应的预定数学运算可以为减法。第一预设值可以为任意整数,可以理解,当预定数学运算为乘法时,第一预设值为非零的任意整数。In step 203, a predetermined mathematical operation corresponding to the group in which each ASCII code value belongs is performed on each ASCII code value and the first preset value. That is, each group grouped in step 202 corresponds to a predetermined mathematical operation, and the ASCII code value in each group and the first preset value are subjected to a predetermined mathematical operation corresponding to the group. For example: when N in step 202 is 2, the predetermined mathematical operation corresponding to the first group can be a kind of mathematical operation in addition, subtraction and multiplication, and the predetermined mathematical operation corresponding to the second group can be addition, subtraction and multiplication Another mathematical operation in . When N in step 202 is 3, the predetermined mathematical operation corresponding to the first group may be multiplication, the predetermined mathematical operation corresponding to the second group may be addition, and the predetermined mathematical operation corresponding to the third group may be subtraction. The first preset value may be any integer. It can be understood that when the predetermined mathematical operation is multiplication, the first preset value is any non-zero integer.

在一个示例中,将ASCII码值组进行分组后得到第一组为:74 80 50 57,第二组为:52 48 74 56,第一预设值为7,第一组对应的预定数学运算为加法,第二组对应的预定数学运算为减法,则第一组与第一预设值进行对应的预定数学运算后得到的结果为:81 8757 64,第二组与第一预设值进行对应的预定数学运算后得到的结果为:45 41 67 49。In an example, after grouping the ASCII code value groups, the first group is: 74 80 50 57, the second group is: 52 48 74 56, the first preset value is 7, and the first group corresponds to the predetermined mathematical operation is addition, and the predetermined mathematical operation corresponding to the second group is subtraction, then the result obtained after the predetermined mathematical operation corresponding to the first group and the first preset value is: 81 8757 64, the second group is carried out with the first preset value The result obtained after the corresponding predetermined mathematical operation is: 45 41 67 49.

在另一个示例中,将ASCII码值组进行分组后得到第一组为:74 80 50 57,第二组为:52 48 74 56,第一预设值为50,第一组对应的预定数学运算为加法,第二组对应的预定数学运算为减法,则第一组与第一预设值进行对应的预定数学运算后得到的结果为:124130 100 107,第二组与第一预设值进行对应的预定数学运算后得到的结果为:2 -2 24 6。In another example, after grouping the ASCII code value groups, the first group is: 74 80 50 57, the second group is: 52 48 74 56, the first preset value is 50, and the first group corresponds to the predetermined math The operation is addition, and the predetermined mathematical operation corresponding to the second group is subtraction, then the result obtained after the predetermined mathematical operation corresponding to the first group and the first preset value is: 124130 100 107, the second group and the first preset value The result obtained after performing the corresponding predetermined mathematical operation is: 2 -2 24 6.

在步骤204,确定每个进行预定数学运算后得到的结果的位数是否达到预定位数。应该理解,当在运算得到的结果中带有负号时,结果的位数包括负号的位数和数字的位数;当在运算得到的结果中不带有负号时,只包括数字的位数。In step 204, it is determined whether the number of digits of the result obtained after each predetermined mathematical operation reaches the predetermined number of digits. It should be understood that when there is a negative sign in the result obtained by the operation, the number of digits of the result includes the number of digits of the negative sign and the number of digits; when there is no negative sign in the result obtained by the operation, only the number of digits is included. digits.

预定位数为ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数。此处的结果的位数与前述相同,当在运算得到的结果中带有负号时,结果的位数包括负号的位数和数字的位数;当在运算得到的结果中不带有负号时,只包括数字的位数。基于ASCII码表可知,ASCII码值的取值范围为[0,127],则ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果中位数最多的数值所具有的位数为预定位数。The predetermined number of digits is the maximum number of digits of the results obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values in the ASCII code table and the first preset value. The number of digits of the result here is the same as the above. When the result obtained by the operation has a negative sign, the number of digits of the result includes the number of digits of the negative sign and the number of digits; when the result obtained by the operation does not have a When negative, only include the number of digits. Based on the ASCII code table, it can be seen that the value range of the ASCII code value is [0, 127], and then all the ASCII code values in the ASCII code table are obtained after performing predetermined mathematical operations corresponding to different groups with the first preset value The numerical value having the largest median has a predetermined number of digits.

在一个示例中,第一预设值为7,第一组对应的预定数学运算为加法,第二组对应的预定数学运算为减法,则在ASCII码表中的所有ASCII码值分别加上第一预设值7后得到的所有的结果的位数和ASCII码表中的所有ASCII码分别减去第一预设值7后得到的所有的结果的位数中的最大位数为3位。即,预定位数为3位。In one example, the first preset value is 7, the predetermined mathematical operation corresponding to the first group is addition, and the predetermined mathematical operation corresponding to the second group is subtraction, then all ASCII code values in the ASCII code table are respectively added with the first The maximum number of digits of all results obtained after a preset value of 7 and all ASCII codes in the ASCII code table after subtracting the first preset value of 7 is 3 digits. That is, the predetermined number of digits is 3 digits.

在另一个示例中,第一预设值为50,第一组对应的预定数学运算为加法,第二组对应的预定数学运算为减法,则在ASCII码表中的所有ASCII码值分别加上第一预设值50后得到的所有的结果的位数和ASCII码表中的所有ASCII码分别减去第一预设值50后得到的所有的结果的位数中的最大位数为3位。即,预定位数为3位。In another example, the first preset value is 50, the predetermined mathematical operation corresponding to the first group is addition, and the predetermined mathematical operation corresponding to the second group is subtraction, then all ASCII code values in the ASCII code table are respectively added The maximum number of digits of all the results obtained after the first preset value of 50 and all the ASCII codes in the ASCII code table is 3 digits after subtracting the first preset value of 50. . That is, the predetermined number of digits is 3 digits.

在步骤205,在没有达到预定位数的结果之前补充零值,以使该结果达到预定位数。即,在步骤203得到的结果中位数小于预定位数的结果之前补充零值。In step 205, zero values are added before the result that does not reach the predetermined number of digits, so that the result reaches the predetermined number of digits. That is, zero values are added before the results obtained in step 203 where the median of the results is less than the predetermined number of digits.

在一个示例中,在步骤203所示的示例中进行预定数学运算后得到的结果为:8187 57 64 45 41 67 49,由于在步骤204所示的示例中对步骤203所示的示例的预定位数确定为3,所以在没有达到预定位数的结果之前补充零值后得到:081 087 057 064 045 041067 049。In one example, the result obtained after performing the predetermined mathematical operation in the example shown in step 203 is: 8187 57 64 45 41 67 49, due to the pre-positioning of the example shown in step 203 in the example shown in step 204 The number is determined to be 3, so after adding zero values before the result that does not reach the predetermined number of digits: 081 087 057 064 045 041067 049.

在另一个示例中,在步骤203所示的示例中进行预定数学运算后得到的结果为:124 130 100 107 2 -2 24 6,由于在步骤204所示的示例中对步骤203所示的示例的预定位数确定为3,所以在没有达到预定位数的结果之前补充零值后得到:124 130 100 107002 0-2 024 006。In another example, the result obtained after performing the predetermined mathematical operation in the example shown in step 203 is: 124 130 100 107 2 -2 24 6, because the example shown in step 204 is compared to the example shown in step 203 The predetermined number of digits is determined to be 3, so after adding zero values before the result that does not reach the predetermined number of digits: 124 130 100 107002 0-2 024 006.

在步骤206,将进行预定数学运算后得到的结果按照在步骤201得到的ASCII码值组中的对应的ASCII码值的顺序排列以产生第一字符串。即,将步骤205得到的结果仍然按照ASCII码值组中的对应的ASCII码值的顺序排列产生第一字符串。In step 206, the results obtained after performing predetermined mathematical operations are arranged according to the sequence of the corresponding ASCII code values in the ASCII code value group obtained in step 201 to generate a first character string. That is, the results obtained in step 205 are still arranged according to the sequence of the corresponding ASCII code values in the ASCII code value group to generate the first character string.

在一个示例中,步骤205得到的结果为:081 087 057 064 045 041 067 049,按照ASCII码值组中的对应的ASCII码值的顺序排列得到第一字符串“081087057064045041067049”。In one example, the result obtained in step 205 is: 081 087 057 064 045 041 067 049, and the first character string "081087057064045041067049" is obtained by arranging according to the order of the corresponding ASCII code values in the ASCII code value group.

在另一个示例中,步骤205得到的结果为:124 130 100 107 002 0-2 024 006,按照ASCII码值组中的对应的ASCII码值的顺序排列得到第一字符串“1241301001070020-2024006”。In another example, the result obtained in step 205 is: 124 130 100 107 002 0-2 024 006, and the first character string "1241301001070020-2024006" is obtained by arranging according to the order of the corresponding ASCII code values in the ASCII code value group.

返回图1,在步骤103,确定第一字符串中的每个字符所对应的字符组。在一个示例中,第一字符串中的每个字符与一个字符组相对应,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。具体地,字符组可以为11个,每个字符组内容如下:Returning to FIG. 1 , at step 103 , the character group corresponding to each character in the first character string is determined. In one example, each character in the first character string corresponds to a character group, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups. Specifically, there can be 11 character groups, and the content of each character group is as follows:

字符组(0):掺摻婵鋋廛谄肠厂麨瞋漦瘛冲摴厨锄諔嘬疮摐噇踳赐醋摧;Character group (0): mixed with chan 鋋 廛 flatter intestine factory 麨 hate 漦 瘛 摴 kitchen hoe 諔 嘬 sore 摐 噇 踳 give vinegar to destroy;

字符组(1):鰆镫镦镄铧锏镢鐍锎镣续铹鏻聍镤镨缱镪黥謦蝾襦繻蠕鳃;Character group (1): 鰆, stirrup, upsetting, iron, mace, 镢, 鐍锎, shackle, continuation, phosphonium, 镤, praseodymium, 镪, tattoo, 謦, salamander, 繻worm gill;

字符组(2):饆璨蝉繟儭艟懤雏幮储蹙窜鄜镐镉环秽劐镓铠镇织镏镎聂;Character group (2): 饆can cicada 繟 焭 牟 懤 young 繮 storage 炮 鄜 pick cadmium ring filthy 劐 gallium armor town weaving 镏铎Nie;

字符组(3):踩粲恻插诧琛嗔脭絺饬傺愁稠酬蜍楚揣歂蠢跐琮催瘁搓脞;Character group (3): step on the charm, pity, amazement, surprise, anger, and sorrow, order, sorrow, thick, toad, Chu, chu, stupid, Cong, weary, rubbing;

字符组(4):怊伡疢宬怵穿舡春殂促毒度耏钆宫剞刭俓咻庥胥叙宣怔枯;Character group (4): 怊伡 疢 宬 fear wears through the spring 殂 promoting poison degree 怏 gadolinium palace 剞 刭 咓 咕 庥 xu xu xu xu xuan ku;

字符组(5):蟾铲鲳惩迟宠畴辞蹴祷镝颠牍犊镜铿馐选鎏镂镘锚镆锘迁;Character group (5): toad, shovel, pomfret, punishment, delay, favor, speech, Cu, prayer, dysprosium, dial, calf, mirror, keng, delicacy, selection, gilt, carved, trowel, anchor, 镆, move;

字符组(6):艑綵嘈察瘥僝嫦玚綝称诚铖酲铳搊绸裯殠搐搋僢怆慈雌粹;Character group (6): 艑艑色色话嘥僝嘉玚綝调感质兲琊搊琊琊琊琊琊琊琊琊磯箠波搋僢悠感喜女色;

字符组(7):参曹侧钗产娼常徜唱巢晨趻偁琤瓻匙豉舂崇紬偢处绌啜船;Character group (7): Shencao's side hairpin produces prostitutes, often wanders and sings nests in the morning, 琤瓻 spoon, soy sauce, Chong 紬 灢 place, sips the boat;

字符组(8):锛餐憯穇舱糙蹅侪幨阊氅鋹谌踸赪褫憧瘳踹遄陲锤輴錞糍;Character group (8): adz meal 憯 穇 cabin rough 蹅 peer 鹨 阊 氅 鋹 Chen 踸 赪 褫 long 瘳 kick 遄 frontier hammer 輴 猞ci;

字符组(9):擦縩操艚螬懆馇锸禅偿韔鼌帱憷歜黜膗聪独镀锻锷锅锾徽;Character group (9): rubbing operation 艚 螬 懆 馇 馇 锸 Zen compensation 韔 鼌 帱 憷 歜 deposes 膗 Cong alone plated forging E pot 锾 emblem;

字符组(-):锉嘟锇锋敷锆馓骟释孀铴璺啮镍拧狞阕阙钿堵钴钾剿捷前。Character group (-): file toot osmium front apply zirconium 馓 骟 release widow 铴 璺 gnaw nickel twist scorpion que que tin block cobalt potassium before suppressing victory.

每个字符组的()内的字符为与该字符组相对应的字符。The characters in () of each character group are characters corresponding to the character group.

在步骤104,将第一字符串中的每个字符替换为对应的字符组中的任意一个字符,形成机器码。即,针对第一字符串中的每个字符,从与该字符相对应的字符组中随机抽取一个字符,并替换该字符。In step 104, each character in the first character string is replaced with any character in the corresponding character group to form a machine code. That is, for each character in the first character string, a character is randomly selected from the character group corresponding to the character, and the character is replaced.

在一个示例中,第一字符串“081087057064045041067049”中的每个字符进行替换后得到的机器码为:婵舱锏肠侪唱冲蹴趻諔酲毒锄怵颠摐耏铹疮绸舂踳剞韔。In one example, the machine code obtained after replacing each character in the first string "081087057064045041067049" is: .

在另一个示例中,第一字符串“1241301001070020-2024006”中的每个字符进行替换后得到的机器码为:镢繟宬镄恻瘛锏摴厨续嘬钗摐摧雏锄啮艟漦璨穿麨瞋称。In another example, the machine code obtained after replacing each character in the first character string "1241301001070020-2024006" is: Mo said angrily.

根据图1所示的根据本发明的实施例的生成机器码的方法及图2所示的根据本发明的实施例的将设备信息中的每个字符进行加密产生第一字符串的方法,可以基于计算机的设备信息产生用于生成注册码的机器码,该机器码由一组汉字组成,从而有效的保护软件开发成果。According to the method for generating machine code according to the embodiment of the present invention shown in FIG. 1 and the method for encrypting each character in the device information according to the embodiment of the present invention shown in FIG. 2 to generate the first character string, it is possible The machine code used to generate the registration code is generated based on the equipment information of the computer, and the machine code is composed of a group of Chinese characters, so as to effectively protect the software development results.

图3示出根据本发明的实施例的生成注册码的方法的流程图。Fig. 3 shows a flowchart of a method for generating a registration code according to an embodiment of the present invention.

如图3所示,在步骤301,接收机器码。这里,所接收的机器码可以是电子终端发送的机器码,也可以是人工输入的机器码。As shown in FIG. 3, in step 301, a machine code is received. Here, the received machine code may be the machine code sent by the electronic terminal, or the machine code input manually.

在一个示例中,接收的机器码为:婵舱锏肠侪唱冲蹴趻諔酲毒锄怵颠摐耏铹疮绸舂踳剞韔。In one example, the received machine code is: 问船销股諔酲酲食柔柔耏铹耏皮皮鸡踳鉞韔.

在另一个示例中,接收的机器码为:镢繟宬镄恻瘛锏摴厨续嘬钗摐摧雏锄啮艟漦璨穿麨瞋称。In another example, the received machine code is: 镢繟宬镄感瘛破脱呴吧童continue嘬摐摐战小斗艟艟缦Can wear麨旨言.

在步骤302,确定机器码中的每个字符所对应的字符组。即,确定机器码中的每个字符存在于哪个字符组中。这里,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。In step 302, the character group corresponding to each character in the machine code is determined. That is, determine in which character group each character in the machine code exists. Here, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

在一个示例中,机器码为:婵舱锏肠侪唱冲蹴趻諔酲毒锄怵颠摐耏铹疮绸舂踳剞韔。机器码中的一个字符为“婵”,基于前述字符组的内容,可知,该字符“婵”存在于字符组(0)中,即,与该字符“婵”对应的字符组为字符组(0)。In one example, the machine code is: 闹船锋肻諔酲食重重重摐耏铹炎皮鸡鸳鉞韔. A character in the machine code is "chan", based on the content of the aforementioned character group, it can be known that the character "chan" exists in the character group (0), that is, the character group corresponding to the character "chan" is the character group ( 0).

在步骤303,将机器码中的每个字符替换为对应的字符组所对应的字符,得到第一字符串。即,基于前述字符组与字符的对应关系,将机器码中的每个字符替换为对应的字符组所对应的字符。In step 303, each character in the machine code is replaced with the character corresponding to the corresponding character group to obtain the first character string. That is, based on the correspondence between the aforementioned character groups and characters, each character in the machine code is replaced with the character corresponding to the corresponding character group.

在一个示例中,机器码中的一个字符“婵”可替换为对应的字符组(0)所对应的字符“0”,以此类推,机器码“婵舱锏肠侪唱冲蹴趻諔酲毒锄怵颠摐耏铹疮绸舂踳剞韔”中的每个字符进行替换后可得到第一字符串为:081087057064045041067049。In one example, a character "chan" in the machine code can be replaced with the character "0" corresponding to the corresponding character group (0), and so on, the machine code "chan" After replacing each character in "Poisonous Hoe, Fear, Drum, Scalp, Scalp, Silk, Scalp, Scalp", the first character string can be obtained: 081087057064045041067049.

在另一个示例中,机器码“镢繟宬镄恻瘛锏摴厨续嘬钗摐摧雏锄啮艟漦璨穿麨瞋称”中的每个字符进行替换后可得到第一字符串为:1241301001070020-2024006。In another example, after replacing each character in the machine code "镢繟宬镄喜瘛破破" and "头繟箬镄盛瘛破" to get the first character string: 1241301001070020-2024006.

在步骤304,对第一字符串进行解密,以得到解密信息。可利用与加密算法对应的解密算法对第一字符串进行解密。In step 304, the first character string is decrypted to obtain decrypted information. The first character string may be decrypted by using a decryption algorithm corresponding to the encryption algorithm.

下面结合图4描述根据本发明的实施例的对第一字符串进行解密得到解密信息的方法。这里,第一字符串利用图2所示的方法被加密。可以理解,这里得到的解密信息为设备信息。A method for decrypting a first character string to obtain decrypted information according to an embodiment of the present invention will be described below with reference to FIG. 4 . Here, the first character string is encrypted using the method shown in FIG. 2 . It can be understood that the decrypted information obtained here is device information.

图4示出根据本发明的实施例的对第一字符串进行解密得到解密信息的方法的流程图。Fig. 4 shows a flowchart of a method for decrypting a first character string to obtain decrypted information according to an embodiment of the present invention.

在步骤401,以预定位数为单位将第一字符串中的字符划分为多个部分。这里,预定位数为ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数。此处的结果的位数与前述相同,当在运算得到的结果中带有负号时,结果的位数包括负号的位数和数字的位数;当在运算得到的结果中不带有负号时,只包括数字的位数。第一预设值与对应的加密过程中的第一预设值相同,不同组对应的预定数学运算为对应的加密过程中的不同组所对应的预定数学运算,预定位数的确定方法与对应的加密过程中的预定位数确定方法相同。即,这里的预定位数与对应的加密过程中的预定位数相同。In step 401, the characters in the first character string are divided into multiple parts in units of predetermined digits. Here, the predetermined number of digits is the maximum number of digits of the results obtained after performing predetermined mathematical operations corresponding to different groups of all ASCII code values in the ASCII code table and the first preset value. The number of digits of the result here is the same as the above. When the result obtained by the operation has a negative sign, the number of digits of the result includes the number of digits of the negative sign and the number of digits; when the result obtained by the operation does not contain When negative, only include the number of digits. The first preset value is the same as the first preset value in the corresponding encryption process. The predetermined mathematical operations corresponding to different groups are predetermined mathematical operations corresponding to different groups in the corresponding encryption process. The method for determining the predetermined number of digits is the same as the corresponding The method of determining the predetermined number of digits in the encryption process is the same. That is, the predetermined number of digits here is the same as that in the corresponding encryption process.

在一个示例中,第一字符串为:081087057064045041067049,第一预设值为7,对应的加密过程中不同组所对应的预定数学运算分别为加法和减法,预定位数为3位。将第一字符串按预定位数3为单位划分得到的多个部分为:081 087 057 064 045 041 067 049。In an example, the first character string is: 081087057064045041067049, the first default value is 7, the corresponding predetermined mathematical operations corresponding to different groups in the encryption process are addition and subtraction, and the predetermined number of digits is 3. The multiple parts obtained by dividing the first character string in units of 3 predetermined digits are: 081 087 057 064 045 041 067 049.

在另一个示例中,第一字符串为:1241301001070020-2024006,第一预设值为7,对应的加密过程中不同组所对应的预定数学运算分别为加法和减法,预定位数为3位。将第一字符串按预定位数3为单位划分得到的多个部分为:124 130 100 107 002 0-2 024 006。In another example, the first character string is: 1241301001070020-2024006, the first preset value is 7, the corresponding predetermined mathematical operations corresponding to different groups in the encryption process are addition and subtraction, and the predetermined number of digits is 3. The multiple parts obtained by dividing the first character string in units of 3 predetermined digits are: 124 130 100 107 002 0-2 024 006.

在步骤402,将每个部分的从左起第一个不为零的字符的左侧的零值去除。In step 402, the zero value to the left of the first non-zero character from the left of each part is removed.

在一个示例中,将步骤401所示的示例中划分得到的多个部分“081 087 057 064045 041 067 049”的从左起第一个不为零的字符的左侧的零值去除得到:81 87 57 64 4541 67 49。In one example, the zero value on the left side of the first non-zero character from the left of the multiple parts "081 087 057 064045 041 067 049" obtained in the example shown in step 401 is removed to obtain: 81 87 57 64 4541 67 49.

在另一示例中,将步骤401所示的示例中划分得到的多个部分“124 130 100 107002 0-2 024 006”的从左起第一个不为零的字符的左侧的零值去除得到:124 130 100107 2 -2 24 6。In another example, the zero value on the left side of the first non-zero character from the left of the multiple parts "124 130 100 107002 0-2 024 006" obtained in the example shown in step 401 is removed Get: 124 130 100107 2 -2 24 6.

在步骤403,按照预定规则将步骤401得到的多个部分划分为N(N为大于零的自然数)个组,每个组对应于一种预定数学运算。这里的预定规则可以是与对应的加密过程中的预定规则相同的各种能够进行分组的方法,例如,对应的加密过程中按预定个数进行分组,这里的预定规则就是按预定个数进行分组,对应的加密过程中按奇数位置和偶数位置进行分组,这里的预定规则就是按奇数位置和偶数位置进行分组。每个组对应的预定数学运算为对应的加密过程中相应组对应的预定数学运算的逆运算。例如,对应的加密过程中,第一组对应的预定数学运算为加法、第二组对应的预定数学运算为减法、第三组对应的预定数学运算为乘法,那么这里的第一组对应的预定数学运算为减法、第二组对应的预定数学运算为加法、第三组对应的预定数学运算为除法。In step 403, the multiple parts obtained in step 401 are divided into N (N is a natural number greater than zero) groups according to predetermined rules, and each group corresponds to a predetermined mathematical operation. The predetermined rules here can be the same various methods that can be grouped as the predetermined rules in the corresponding encryption process, for example, in the corresponding encryption process, grouping is performed by a predetermined number, and the predetermined rule here is to group by a predetermined number , corresponding to grouping by odd-numbered positions and even-numbered positions in the encryption process, and the predetermined rule here is to group by odd-numbered positions and even-numbered positions. The predetermined mathematical operation corresponding to each group is the inverse operation of the predetermined mathematical operation corresponding to the corresponding group in the corresponding encryption process. For example, in the corresponding encryption process, the predetermined mathematical operation corresponding to the first group is addition, the predetermined mathematical operation corresponding to the second group is subtraction, and the predetermined mathematical operation corresponding to the third group is multiplication, then the predetermined mathematical operation corresponding to the first group here is The mathematical operation is subtraction, the predetermined mathematical operation corresponding to the second group is addition, and the predetermined mathematical operation corresponding to the third group is division.

在一个示例中,将步骤402所示的示例中得到的多个部分“81 87 57 64 45 41 6749”按与对应的加密过程中的预定规则相同的方法进行分组。即,以4个为单位划分为2个组,第一组为:81 87 57 64,第二组为:45 41 67 49。由于在步骤401所示的示例中的第一字符串“081087057064045041067049”所对应的加密过程中,第一组所对应的预定数学预算为加法,第二组所对应的预定数学运算为减法,所以这里的第一组所对应的预定数学运算为减法,第二组所对应的预定数学运算为加法。In one example, the multiple parts "81 87 57 64 45 41 6749" obtained in the example shown in step 402 are grouped according to the same method as the predetermined rule in the corresponding encryption process. That is, 4 units are divided into 2 groups, the first group is: 81 87 57 64, and the second group is: 45 41 67 49. Since in the encryption process corresponding to the first character string "081087057064045041067049" in the example shown in step 401, the predetermined mathematical budget corresponding to the first group is addition, and the predetermined mathematical operation corresponding to the second group is subtraction, so here The predetermined mathematical operation corresponding to the first group is subtraction, and the predetermined mathematical operation corresponding to the second group is addition.

在另一个示例中,将步骤402所示的示例中得到的多个部分“124 130 100 107 2-2 24 6”按与对应的加密过程中的预定规则相同的方法进行分组。即,以4个为单位划分为2个组,第一组为:124 130 100 107,第二组为:2 -2 24 6。由于在步骤401所示的示例中的第一字符串“1241301001070020-2024006”所对应的加密过程中,第一组所对应的预定数学预算为加法,第二组所对应的预定数学运算为减法,所以这里的第一组所对应的预定数学运算为减法,第二组所对应的预定数学运算为加法。In another example, the multiple parts "124 130 100 107 2-2 24 6" obtained in the example shown in step 402 are grouped according to the same method as the predetermined rule in the corresponding encryption process. That is, 4 units are divided into 2 groups, the first group is: 124 130 100 107, and the second group is: 2 -2 24 6. Since in the encryption process corresponding to the first character string "1241301001070020-2024006" in the example shown in step 401, the predetermined mathematical budget corresponding to the first group is addition, and the predetermined mathematical operation corresponding to the second group is subtraction, Therefore, the predetermined mathematical operation corresponding to the first group here is subtraction, and the predetermined mathematical operation corresponding to the second group is addition.

在步骤404,将每个部分与第一预设值进行每个部分所在组所对应的预定数学运算。即,在步骤403分组后的每个组对应一种预定数学运算,每个组中的每个部分与第一预设值进行所在组所对应的一种预定数学运算。In step 404, a predetermined mathematical operation corresponding to the group of each part is performed on each part and the first preset value. That is, each group grouped in step 403 corresponds to a predetermined mathematical operation, and each part in each group performs a predetermined mathematical operation corresponding to the group with the first preset value.

在一个示例中,第一预设值为7,第一组“81 87 57 64”对应的预定数学运算为减法,第二组“45 41 67 49”对应的预定数学运算为加法,则第一组与第一预设值进行对应的预定数学运算后得到的结果为:74 80 50 57,第二组与第一预设值进行对应的预定数学运算后得到的结果为:52 48 74 56。In one example, the first preset value is 7, the predetermined mathematical operation corresponding to the first group "81 87 57 64" is subtraction, and the predetermined mathematical operation corresponding to the second group "45 41 67 49" is addition, then the first The result obtained after the predetermined mathematical operation corresponding to the first preset value is: 74 80 50 57, and the result obtained after the predetermined mathematical operation corresponding to the second group is 52 48 74 56.

在另一个示例中,第一预设值为50,第一组“124 130 100 107”对应的预定数学运算为减法,第二组“2 -2 24 6”对应的预定数学运算为加法,则第一组与第一预设值进行对应的预定数学运算后得到的结果为:74 80 50 57,第二组与第一预设值进行对应的预定数学运算后得到的结果为:52 48 74 56。In another example, the first preset value is 50, the predetermined mathematical operation corresponding to the first group "124 130 100 107" is subtraction, and the predetermined mathematical operation corresponding to the second group "2 -2 24 6" is addition, then The result obtained after the first group of predetermined mathematical operations corresponding to the first preset value is: 74 80 50 57, and the result obtained after the second group of predetermined mathematical operations corresponding to the first preset value is: 52 48 74 56.

在步骤405,将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。这里,替换是基于美国信息交换标准码表(ASCII码表)进行的。即,在ASCII码表中查找到与数值相对应的字符,并将数值替换为相应的字符,以得到解密信息。In step 405, each numerical value obtained by the predetermined mathematical operation is replaced with a corresponding ASCII code character, so as to obtain decryption information. Here, the replacement is performed based on the American Standard Code Table for Information Interchange (ASCII Code Table). That is, find the character corresponding to the numerical value in the ASCII code table, and replace the numerical value with the corresponding character, so as to obtain the decrypted information.

在一个示例中,将预定数学运算得到的结果“74 80 50 57 52 48 74 56”替换为ASCII码字符得到解密信息为:JP2940J8。In one example, the result "74 80 50 57 52 48 74 56" obtained by the predetermined mathematical operation is replaced with ASCII code characters to obtain the decrypted information: JP2940J8.

返回图3,在步骤305,将步骤304解密得到的解密信息中的每个字符进行加密,产生第二字符串。第二字符串与第一字符串不同。可利用各种加密算法对字符进行加密。Returning to Fig. 3, in step 305, each character in the decrypted information obtained by decrypting in step 304 is encrypted to generate a second character string. The second character string is different from the first character string. Characters can be encrypted using various encryption algorithms.

在一个示例中,这里的加密方法可与图2所示的根据本发明的实施例的将设备信息中的每个字符进行加密产生第一字符串的方法相同,区别仅在于步骤305中使用第二预设值来对每个ASCII码值进行每个ASCII码值所在组所对应的预定数学运算,而在图2所示的方法中使用的是第一预设值。第二预设值为不同于第一预设值的任意整数,从而使得加密产生的第二字符串与第一字符串不同,可以理解,当预定数学运算为乘法时,第二预设值为非零的不同于第一预设值的任意整数。In an example, the encryption method here may be the same as the method of encrypting each character in the device information to generate the first character string according to the embodiment of the present invention shown in FIG. Two preset values are used to perform predetermined mathematical operations corresponding to the group in which each ASCII code value belongs to each ASCII code value, while the method shown in FIG. 2 uses the first preset value. The second preset value is any integer different from the first preset value, so that the second character string generated by encryption is different from the first character string. It can be understood that when the predetermined mathematical operation is multiplication, the second preset value is Any non-zero integer different from the first preset value.

在步骤306,确定第二字符串中的每个字符所对应的字符组。在一个示例中,第二字符串中的每个字符与一个字符组相对应,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。具体地,字符组可以为11个,每个字符组内容如前所述。每个字符组的()内的字符为与该字符组相对应的字符。In step 306, a character group corresponding to each character in the second character string is determined. In an example, each character in the second character string corresponds to a character group, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups. Specifically, there may be 11 character groups, and the content of each character group is as described above. The characters in () of each character group are characters corresponding to the character group.

在步骤307,将第二字符串中的每个字符替换为对应的字符组中的任意一个字符,形成注册码。即,针对第二字符串中的每个字符,从与该字符相对应的字符组中随机抽取一个字符,并替换该字符。In step 307, each character in the second character string is replaced with any character in the corresponding character group to form a registration code. That is, for each character in the second character string, a character is randomly extracted from the character group corresponding to the character, and the character is replaced.

在一个示例中,第二字符串为:0354036003300337-228-232-206-224,对第二字符串中的每个字符进行替换后得到注册码为:噇絺镝舡冲愁诚厨瞋絺饬諔厂蜍蠢匙释繟儭赪钿劐琮储骟铠疮铳剿织镏刭。In one example, the second character string is: 0354036003300337-228-232-206-224, and the registration code obtained after replacing each character in the second character string is: The factory toad is stupid, the key is to release the scorpion, the tin, the cong, the storage, the armor, the sore, the blunderbuss, and the weaving.

根据图3所示的根据本发明的实施例的生成注册码的方法及图4所示的根据本发明的实施例的对第一字符串进行解密得到解密信息的方法,可以基于获取的机器码生成注册码,该注册码由一组汉字组成,从而有效的保护软件开发成果。According to the method for generating a registration code according to the embodiment of the present invention shown in FIG. 3 and the method for decrypting the first character string to obtain the decrypted information according to the embodiment of the present invention shown in FIG. 4 , it can be based on the obtained machine code Generate a registration code, which is composed of a group of Chinese characters, so as to effectively protect the software development results.

图5示出根据本发明的实施例的软件注册的方法的流程图。Fig. 5 shows a flowchart of a method for software registration according to an embodiment of the present invention.

如图5所示,在步骤501,获取注册码。这里,获取的注册码可以是服务器发送的注册码,也可以是人工输入的注册码。As shown in FIG. 5, in step 501, a registration code is acquired. Here, the acquired registration code may be a registration code sent by the server, or a registration code input manually.

在步骤502,确定注册码中的每个字符所对应的字符组。即,确定注册码中的每个字符存在于哪个字符组中。这里,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。In step 502, the character group corresponding to each character in the registration code is determined. That is, it is determined in which character group each character in the registration code exists. Here, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

在一个示例中,注册码为:噇絺镝舡冲愁诚厨瞋絺饬諔厂蜍蠢匙释繟儭赪钿劐琮储骟铠疮铳剿织镏刭。对于注册码中的字符“噇”,基于前述字符组的内容,可知,该字符“噇”存在于字符组(0)中。即,与该字符“噇”对应的字符组为字符组(0)。In one example, the registration code is: 噇絺芝舡冲悲成士都火絺竔堂都着键码繟儭赪銐抐顺益骨防病针打结爭. For the character "噇" in the registration code, based on the content of the aforementioned character group, it can be known that the character "噇" exists in the character group (0). That is, the character group corresponding to the character "噇" is the character group (0).

在步骤503,将注册码中的每个字符替换为对应的字符组所对应的字符,得到第二字符串。即,基于前述字符组与字符的对应关系,将注册码中的每个字符替换为对应的字符组所对应的字符。In step 503, each character in the registration code is replaced with a character corresponding to the corresponding character group to obtain a second character string. That is, based on the correspondence between the aforementioned character groups and characters, each character in the registration code is replaced with a character corresponding to the corresponding character group.

在一个示例中,注册码“噇絺镝舡冲愁诚厨瞋絺饬諔厂蜍蠢匙释繟儭赪钿劐琮储骟铠疮铳剿织镏刭”中的每个字符进行替换后可得到第二字符串为:0354036003300337-228-232-206-224。In one example, each character in the registration code "噇絺芝舡冲悲父爷爷爷火火狔堂肠病魔节繟儭赪犐抐皮盟窟防病舡冲早父爭" can be replaced after each character in the registration code The obtained second character string is: 0354036003300337-228-232-206-224.

在步骤504,对第二字符串进行解密,得到解密信息。可利用与加密算法对应的解密算法对第二字符串进行解密。例如,在利用第二预设值使用图2所示的加密方法得到第二字符串时,这里的解密方法与图4所示的根据本发明的实施例的对第一字符串进行解密得到解密信息的方法相同,区别在于步骤504中使用第二预设值来对第二字符串进行解密,而在图4的方法中则是使用第一预设值对第一字符串进行解密。In step 504, the second character string is decrypted to obtain decrypted information. The second character string may be decrypted using a decryption algorithm corresponding to the encryption algorithm. For example, when the second character string is obtained by using the encryption method shown in FIG. 2 with the second preset value, the decryption method here is the same as that shown in FIG. The information method is the same, the difference is that in step 504, the second preset value is used to decrypt the second character string, while in the method of FIG. 4 , the first character string is decrypted using the first preset value.

在步骤505,获取计算机的设备信息。这里,所获取的设备信息为当前进行注册的计算机的设备信息。例如,可通过计算机的操作系统获取设备信息。In step 505, the device information of the computer is obtained. Here, the acquired device information is the device information of the currently registered computer. For example, device information can be obtained through the computer's operating system.

在步骤506,判断在步骤504得到的解密信息与步骤505获取的设备信息是否一致,如果解密信息与步骤505获取的设备信息一致,则执行步骤507,确定软件通过注册。In step 506, it is determined whether the decrypted information obtained in step 504 is consistent with the device information obtained in step 505, and if the decrypted information is consistent with the device information obtained in step 505, then step 507 is executed to determine that the software has passed the registration.

在步骤508,在确定软件通过注册后要在预置路径下创建注册文件,将注册码写入到注册文件中,并将注册文件的创建时间修改为过去时间,文件属性设置为隐藏。这里,预置路径可以设置为任意路径,例如,可以设置预置路径为C:\windows\system32\或C:\winnt\system32\。创建的注册文件用于存储注册码,文件名和扩展名可以任意设置,例如,可以设置注册文件的文件名和扩展名为C0MCAT.dll。过去时间可以为当前时间以前的任一时间,例如,可以为2004-8-1720:00:00。In step 508, after it is determined that the software has passed the registration, a registration file is created under the preset path, the registration code is written into the registration file, the creation time of the registration file is modified to past time, and the file attribute is set to hidden. Here, the preset path can be set to any path, for example, the preset path can be set to C:\windows\system32\ or C:\winnt\system32\. The created registration file is used to store the registration code, and the file name and extension can be set arbitrarily, for example, the file name and extension of the registration file can be set as C0MCAT.dll. The past time may be any time before the current time, for example, it may be 2004-8-17 20:00:00.

在步骤506中如果判断解密信息与步骤505获取的设备信息不一致,则执行步骤509,提示注册码错误。In step 506, if it is judged that the decrypted information is inconsistent with the device information obtained in step 505, then step 509 is executed to prompt that the registration code is wrong.

根据图5所示的根据本发明的实施例的软件注册的方法,可以基于获取的注册码进行软件注册,该注册码由一组汉字组成,同时在注册过程中对注册码进行验证并将注册文件的保存路径、文件名等进行设置,从而有效的保护软件开发成果。According to the software registration method according to the embodiment of the present invention shown in Figure 5, the software registration can be performed based on the obtained registration code, which is composed of a group of Chinese characters, and the registration code is verified and registered in the registration process. The save path and file name of the file can be set to effectively protect the software development results.

图6示出根据本发明的实施例的限制软件功能的方法的流程图。Fig. 6 shows a flowchart of a method for limiting software functions according to an embodiment of the present invention.

如图6所示,在步骤601,在启动软件时查找预置路径下的注册文件。这里,预置路径为用于存储注册文件的位置,注册文件用于存储注册码。As shown in FIG. 6 , in step 601 , the registration file under the preset path is searched when the software is started. Here, the preset path is the location for storing the registration file, and the registration file is used for storing the registration code.

在步骤602,读取步骤601查找到的注册文件中的注册码。In step 602, the registration code in the registration file found in step 601 is read.

在步骤603,确定注册码中的每个字符所对应的字符组,即,确定注册码中的每个字符存在于哪个字符组中。这里,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。In step 603, determine the character group corresponding to each character in the registration code, that is, determine which character group each character in the registration code exists in. Here, each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.

在步骤604,将注册码中的每个字符替换为对应的字符组所对应的字符,得到第二字符串。即,基于前述字符组与字符的对应关系,将注册码中的每个字符替换为对应的字符组所对应的字符。In step 604, each character in the registration code is replaced with a character corresponding to the corresponding character group to obtain a second character string. That is, based on the correspondence between the aforementioned character groups and characters, each character in the registration code is replaced with a character corresponding to the corresponding character group.

在步骤605,对第二字符串进行解密,得到解密信息。可利用与加密算法对应的解密算法对第二字符串进行解密。In step 605, the second character string is decrypted to obtain decrypted information. The second character string may be decrypted using a decryption algorithm corresponding to the encryption algorithm.

例如,在利用第二预设值使用图2所示的加密方法得到第二字符串时,这里的解密方法与图4所示的根据本发明的实施例的对第一字符串进行解密得到解密信息的方法相同,区别在于步骤605中使用第二预设值来对第二字符串进行解密,而在图4的方法中则是使用第一预设值对第一字符串进行解密。For example, when the second character string is obtained by using the encryption method shown in FIG. 2 with the second preset value, the decryption method here is the same as that shown in FIG. The information method is the same, the difference is that in step 605, the second preset value is used to decrypt the second character string, while in the method of FIG. 4 , the first character string is decrypted using the first preset value.

在步骤606,获取计算机的设备信息。这里,所获取的设备信息为当前已经安装软件的计算机的设备信息。例如,可通过计算机的操作系统获取设备信息。In step 606, the device information of the computer is obtained. Here, the acquired device information is the device information of the computer on which the software is currently installed. For example, device information can be obtained through the computer's operating system.

在步骤607,判断在步骤605得到的解密信息与步骤606获取的设备信息是否一致,如果解密信息与步骤606获取的设备信息一致,则执行步骤608,开放软件全部功能。即,用户可使用软件的全部功能。In step 607, it is determined whether the decrypted information obtained in step 605 is consistent with the device information obtained in step 606, and if the decrypted information is consistent with the device information obtained in step 606, then step 608 is executed to open all functions of the software. That is, the user can use all the functions of the software.

在步骤607中如果判断解密信息与步骤606获取的设备信息不一致,则执行步骤609,开放软件部分功能。即,仅将软件的部分功能提供给用户使用。In step 607, if it is judged that the decrypted information is inconsistent with the device information obtained in step 606, then step 609 is executed to release some functions of the software. That is, only part of the functions of the software are provided for the user to use.

根据图6所示的根据本发明的实施例的限制软件功能的方法,对注册文件中的注册码进行验证,并根据验证的结果来控制软件向用户开放的功能,从而有效的保护软件开发成果。According to the method for limiting software functions according to the embodiment of the present invention shown in Figure 6, the registration code in the registration file is verified, and the function of the software to be opened to the user is controlled according to the verification result, thereby effectively protecting the software development achievements .

根据本发明的生成机器码和注册码的方法及软件注册和功能限制的方法,能够有效的保护软件开发成果。According to the method for generating machine code and registration code and the method for software registration and function limitation of the present invention, software development results can be effectively protected.

此外,根据本发明的示例性实施例的上述方法可以被实现为计算机程序,从而当运行该程序时,实现上述方法。Furthermore, the above-described methods according to exemplary embodiments of the present invention can be implemented as a computer program so that when the program is executed, the above-described methods are implemented.

虽然已表示和描述了本发明的一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。While certain embodiments of the present invention have been shown and described, it should be understood by those skilled in the art that modifications may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents. to modify.

Claims (30)

1.一种生成机器码的方法,包括如下步骤:1. A method for generating machine codes, comprising the steps of: 获取计算机的设备信息;Obtain the device information of the computer; 将设备信息中的每个字符进行加密,以产生第一字符串;Encrypt each character in the device information to generate the first character string; 确定第一字符串中的每个字符所对应的字符组;determining the character group corresponding to each character in the first character string; 将第一字符串中的每个字符替换为对应的字符组中的任意一个字符,以形成机器码,Replace each character in the first string with any character in the corresponding character group to form a machine code, 其中,将设备信息中的每个字符进行加密,以产生第一字符串的步骤包括:Wherein, the step of encrypting each character in the device information to generate the first character string includes: 将设备信息中的每个字符替换为对应的ASCII码值,以产生ASCII码值组;Replace each character in the device information with the corresponding ASCII code value to generate an ASCII code value group; 将ASCII码值组中的每个ASCII码值与第一预设值进行预定数学运算;performing a predetermined mathematical operation on each ASCII code value in the ASCII code value group and the first preset value; 将进行预定数学运算后得到的结果按照ASCII码值组中的对应的ASCII码值的顺序排列以产生第一字符串。Arranging the results obtained after performing the predetermined mathematical operation according to the sequence of the corresponding ASCII code values in the ASCII code value group to generate the first character string. 2.根据权利要求1所述的方法,其特征在于,所述设备信息包括:2. The method according to claim 1, wherein the device information includes: 所述计算机的至少一个硬件序列号的部分或全部的组合。A combination of some or all of at least one hardware serial number of the computer. 3.根据权利要求1所述的方法,其特征在于,将ASCII码值组中的每个ASCII码值与第一预设值进行预定数学运算的步骤包括:3. method according to claim 1, is characterized in that, the step of carrying out predetermined mathematical operation with each ASCII code value in the ASCII code value group and first preset value comprises: 按照预定规则将ASCII码值组中的ASCII码值划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;The ASCII code value in the ASCII code value group is divided into N groups according to predetermined rules, wherein, N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; 将每个ASCII码值与第一预设值进行每个ASCII码值所在组所对应的预定数学运算。performing a predetermined mathematical operation corresponding to the group in which each ASCII code value belongs to with each ASCII code value and the first preset value. 4.根据权利要求3所述的方法,其特征在于,将ASCII码值组中的每个ASCII码值与第一预设值进行预定数学运算的步骤还包括:4. method according to claim 3, is characterized in that, the step of carrying out predetermined mathematical operation with each ASCII code value in the ASCII code value group and first preset value also comprises: 确定每个ASCII码值与第一预设值进行预定数学运算后得到的结果的位数是否达到预定位数,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;Determine whether the number of digits of the result obtained after performing predetermined mathematical operations on each ASCII code value and the first preset value reaches a predetermined number of digits, wherein the predetermined number of digits is that all ASCII code values in the ASCII code table are respectively compared with the first preset value. The preset value is the maximum number of digits in the digits of the results obtained after performing predetermined mathematical operations corresponding to different groups; 在没有达到预定位数的结果之前补充零值,以使该结果达到预定位数。Zeros are added before results that do not reach the predetermined number of digits, so that the result reaches the predetermined number of digits. 5.根据权利要求4所述的方法,其特征在于,N为2,与第一组对应的预定数学运算为加法、减法和乘法中的一种数学运算,与第二组对应的预定数学运算为加法、减法和乘法中的另一种数学运算。5. The method according to claim 4, wherein N is 2, the predetermined mathematical operation corresponding to the first group is one of addition, subtraction and multiplication, and the predetermined mathematical operation corresponding to the second group Another mathematical operation in addition, subtraction, and multiplication. 6.根据权利要求4所述的方法,其特征在于,N为3,与第一组对应的预定数学运算为乘法,与第二组对应的预定数学运算为加法,与第三组对应的预定数学运算为减法。6. The method according to claim 4, wherein N is 3, the predetermined mathematical operation corresponding to the first group is multiplication, the predetermined mathematical operation corresponding to the second group is addition, and the predetermined mathematical operation corresponding to the third group is The mathematical operation is subtraction. 7.根据权利要求1所述的方法,其特征在于,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。7. The method according to claim 1, wherein each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups. 8.一种生成注册码的方法,包括如下步骤:8. A method for generating a registration code, comprising the steps of: 接收机器码;Receive machine code; 确定机器码中的每个字符所对应的字符组;Determine the character group corresponding to each character in the machine code; 将机器码中的每个字符替换为对应的字符组所对应的字符,以得到第一字符串;replacing each character in the machine code with the character corresponding to the corresponding character group to obtain the first character string; 对第一字符串进行解密,以得到解密信息;Decrypt the first string to obtain decrypted information; 将所述解密信息中的每个字符进行加密,以产生第二字符串;Encrypting each character in the decrypted information to generate a second character string; 确定第二字符串中的每个字符所对应的字符组;determining a character group corresponding to each character in the second character string; 将第二字符串中的每个字符替换为对应的字符组中的任意一个字符,以形成注册码。Each character in the second character string is replaced with any character in the corresponding character group to form a registration code. 9.根据权利要求8所述的方法,其特征在于,对第一字符串进行解密,以得到解密信息的步骤包括:9. The method according to claim 8, wherein the step of decrypting the first character string to obtain decrypted information comprises: 将第一字符串划分为多个部分;dividing the first character string into a plurality of parts; 将第一字符串划分后的每个部分与第一预设值进行预定数学运算;performing a predetermined mathematical operation on each part of the divided first character string and the first preset value; 将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。Each numerical value obtained by the predetermined mathematical operation is replaced with a corresponding ASCII code character to obtain decrypted information. 10.根据权利要求9所述的方法,其特征在于,将第一字符串划分为多个部分的步骤包括:10. The method according to claim 9, wherein the step of dividing the first character string into a plurality of parts comprises: 以预定位数为单位将第一字符串中的字符划分为多个部分,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第一预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;Divide the characters in the first character string into a plurality of parts in units of predetermined digits, wherein the predetermined digits are all ASCII code values in the ASCII code table corresponding to different groups of the first preset value the maximum number of digits in the number of digits of the result obtained after a predetermined mathematical operation; 将每个部分的从左起第一个不为零的字符的左侧的零值去除。Strips the zero value to the left of the first non-zero character from the left of each part. 11.根据权利要求9所述的方法,其特征在于,将第一字符串划分后的每个部分与第一预设值进行预定数学运算的步骤包括:11. The method according to claim 9, wherein the step of performing predetermined mathematical operations on each part after the first character string is divided and the first preset value comprises: 按照预定规则将所述多个部分划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;dividing the plurality of parts into N groups according to predetermined rules, wherein N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; 将每个部分与第一预设值进行每个部分所在组所对应的预定数学运算。Performing a predetermined mathematical operation corresponding to the group in which each part belongs to each part and the first preset value. 12.根据权利要求8所述的方法,其特征在于,将解密信息中的每个字符进行加密,以产生第二字符串的步骤包括:12. The method according to claim 8, wherein the step of encrypting each character in the decrypted information to generate the second character string comprises: 将解密信息中的每个字符替换为对应的ASCII码值,以产生ASCII码值组;Replace each character in the decrypted information with a corresponding ASCII code value to generate an ASCII code value group; 将ASCII码值组中的每个ASCII码值与第二预设值进行预定数学运算;performing a predetermined mathematical operation on each ASCII code value in the ASCII code value group and a second preset value; 将进行预定数学运算后得到的结果按照ASCII码值组中的对应的ASCII码值的顺序排列以产生第二字符串。Arranging the results obtained after performing the predetermined mathematical operation according to the sequence of the corresponding ASCII code values in the ASCII code value group to generate the second character string. 13.根据权利要求12所述的方法,其特征在于,将ASCII码值组中的每个ASCII码值与第二预设值进行预定数学运算的步骤包括:13. The method according to claim 12, characterized in that, the step of carrying out predetermined mathematical operation with each ASCII code value in the ASCII code value group and the second preset value comprises: 按照预定规则将ASCII码值组中的ASCII码值划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;The ASCII code value in the ASCII code value group is divided into N groups according to predetermined rules, wherein, N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; 将每个ASCII码值与第二预设值进行每个ASCII码值所在组所对应的预定数学运算。performing a predetermined mathematical operation corresponding to the group in which each ASCII code value belongs to with each ASCII code value and the second preset value. 14.根据权利要求13所述的方法,其特征在于,将ASCII码值组中的每个ASCII码值与第二预设值进行预定数学运算的步骤还包括:14. method according to claim 13 is characterized in that, the step of carrying out predetermined mathematical operation with each ASCII code value in the ASCII code value group and the second preset value also comprises: 确定每个ASCII码值与第二预设值进行预定数学运算后得到的结果的位数是否达到预定位数,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第二预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;Determine whether the number of digits of the result obtained after performing predetermined mathematical operations on each ASCII code value and the second preset value reaches a predetermined number of digits, wherein the predetermined number of digits is that all ASCII code values in the ASCII code table are respectively compared with the second preset value The preset value is the maximum number of digits in the digits of the results obtained after performing predetermined mathematical operations corresponding to different groups; 在没有达到预定位数的结果之前补充零值,以使该结果达到预定位数。Zeros are added before results that do not reach the predetermined number of digits, so that the result reaches the predetermined number of digits. 15.根据权利要求14所述的方法,其特征在于,N为2,与第一组对应的预定数学运算为加法、减法和乘法中的一种数学运算,与第二组对应的预定数学运算为加法、减法和乘法中的另一种数学运算。15. The method according to claim 14, wherein N is 2, the predetermined mathematical operation corresponding to the first group is one of addition, subtraction and multiplication, and the predetermined mathematical operation corresponding to the second group is Another mathematical operation in addition, subtraction, and multiplication. 16.根据权利要求14所述的方法,其特征在于,N为3,与第一组对应的预定数学运算为乘法,与第二组对应的预定数学运算为加法,与第三组对应的预定数学运算为减法。16. The method according to claim 14, wherein N is 3, the predetermined mathematical operation corresponding to the first group is multiplication, the predetermined mathematical operation corresponding to the second group is addition, and the predetermined mathematical operation corresponding to the third group is The mathematical operation is subtraction. 17.根据权利要求8所述的方法,其特征在于,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。17. The method according to claim 8, wherein each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups. 18.一种软件注册的方法,包括如下步骤:18. A method for software registration, comprising the steps of: 获取注册码;Obtain the registration code; 确定注册码中的每个字符所对应的字符组;Determine the character group corresponding to each character in the registration code; 将注册码中的每个字符替换为对应的字符组所对应的字符,以得到第二字符串;replacing each character in the registration code with the character corresponding to the corresponding character group to obtain the second character string; 对第二字符串进行解密,以得到解密信息;Decrypting the second character string to obtain decrypted information; 获取计算机的设备信息;Obtain the device information of the computer; 判断解密信息与获取的设备信息是否一致;Determine whether the decrypted information is consistent with the obtained device information; 如果解密信息与获取的设备信息一致,则确定软件通过注册。If the decrypted information is consistent with the obtained device information, it is determined that the software has passed the registration. 19.根据权利要求18所述的方法,其特征在于,还包括:在确定软件通过注册之后,在预置路径下创建注册文件,将注册码写入到注册文件中,并将注册文件的创建时间修改为过去时间,文件属性设置为隐藏。19. The method according to claim 18, further comprising: after determining that the software has passed the registration, creating a registration file under the preset path, writing the registration code into the registration file, and The time is modified to the past time, and the file attribute is set to hidden. 20.根据权利要求18所述的方法,其特征在于,如果解密信息与获取的设备信息不一致,则提示注册码错误。20. The method according to claim 18, wherein if the decrypted information is inconsistent with the obtained device information, a prompt is displayed indicating that the registration code is wrong. 21.根据权利要求18所述的方法,其特征在于,对第二字符串进行解密,以得到解密信息的步骤包括:21. The method according to claim 18, wherein the step of decrypting the second character string to obtain the decrypted information comprises: 将第二字符串划分为多个部分;dividing the second character string into a plurality of parts; 将第二字符串划分后的每个部分与第二预设值进行预定数学运算;performing a predetermined mathematical operation on each part of the divided second character string with a second preset value; 将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。Each numerical value obtained by the predetermined mathematical operation is replaced with a corresponding ASCII code character to obtain decrypted information. 22.根据权利要求21所述的方法,其特征在于,将第二字符串划分为多个部分的步骤包括:22. The method according to claim 21, wherein the step of dividing the second character string into a plurality of parts comprises: 以预定位数为单位将第二字符串中的字符划分为多个部分,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第二预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;The characters in the second character string are divided into a plurality of parts in units of predetermined digits, wherein the predetermined digits are all ASCII code values in the ASCII code table corresponding to different groups of the second preset value the maximum number of digits in the number of digits of the result obtained after a predetermined mathematical operation; 将每个部分的从左起第一个不为零的字符的左侧的零值去除。Strips the zero value to the left of the first non-zero character from the left of each part. 23.根据权利要求21所述的方法,其特征在于,将第二字符串划分后的每个部分与第二预设值进行预定数学运算的步骤包括:23. The method according to claim 21, wherein the step of performing predetermined mathematical operations on each part after the second character string is divided and the second preset value comprises: 按照预定规则将所述多个部分划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;dividing the plurality of parts into N groups according to predetermined rules, wherein N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; 将每个部分与第二预设值进行每个部分所在组所对应的预定数学运算。performing a predetermined mathematical operation corresponding to the group in which each part belongs to each part and the second preset value. 24.根据权利要求18所述的方法,其特征在于,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。24. The method according to claim 18, wherein each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups. 25.一种限制软件功能的方法,包括如下步骤:25. A method for limiting software functions, comprising the steps of: 启动软件时查找预置路径下的注册文件;Search for the registration file under the preset path when starting the software; 读取注册文件中的注册码;Read the registration code in the registration file; 确定注册码中的每个字符所对应的字符组;Determine the character group corresponding to each character in the registration code; 将注册码中的每个字符替换为对应的字符组所对应的字符,以得到第二字符串;replacing each character in the registration code with the character corresponding to the corresponding character group to obtain the second character string; 对第二字符串进行解密,以得到解密信息;Decrypting the second character string to obtain decrypted information; 获取计算机的设备信息;Obtain the device information of the computer; 判断解密信息与获取的设备信息是否一致;Determine whether the decrypted information is consistent with the obtained device information; 如果解密信息与获取的设备信息一致,则开放软件全部功能。If the decrypted information is consistent with the obtained device information, all functions of the software will be released. 26.根据权利要求25所述的方法,其特征在于,如果解密信息与获取的设备信息不一致,则开放软件部分功能。26. The method according to claim 25, wherein if the decrypted information is inconsistent with the obtained device information, some functions of the software are released. 27.根据权利要求25所述的方法,其特征在于,对第二字符串进行解密,以得到解密信息的步骤包括:27. The method according to claim 25, wherein the step of decrypting the second character string to obtain the decrypted information comprises: 将第二字符串划分为多个部分;dividing the second character string into a plurality of parts; 将第二字符串划分后的每个部分与第二预设值进行预定数学运算;performing a predetermined mathematical operation on each part of the divided second character string with a second preset value; 将预定数学运算得到的每个数值替换为对应的ASCII码字符,以得到解密信息。Each numerical value obtained by the predetermined mathematical operation is replaced with a corresponding ASCII code character to obtain decrypted information. 28.根据权利要求27所述的方法,其特征在于,将第二字符串划分为多个部分的步骤包括:28. The method according to claim 27, wherein the step of dividing the second character string into a plurality of parts comprises: 以预定位数为单位将第二字符串中的字符划分为多个部分,其中,所述预定位数是ASCII码表中的所有ASCII码值分别与第二预设值进行不同组所对应的预定数学运算后得到的结果的位数中的最大位数;The characters in the second character string are divided into a plurality of parts in units of predetermined digits, wherein the predetermined digits are all ASCII code values in the ASCII code table corresponding to different groups of the second preset value the maximum number of digits in the number of digits of the result obtained after a predetermined mathematical operation; 将每个部分的从左起第一个不为零的字符的左侧的零值去除。Strips the zero value to the left of the first non-zero character from the left of each part. 29.根据权利要求27所述的方法,其特征在于,将第二字符串划分后的每个部分与第二预设值进行预定数学运算的步骤包括:29. The method according to claim 27, wherein the step of performing predetermined mathematical operations on each part after the second character string is divided and the second preset value comprises: 按照预定规则将所述多个部分划分为N个组,其中,N为大于零的自然数,每个组对应于一种预定数学运算;dividing the plurality of parts into N groups according to predetermined rules, wherein N is a natural number greater than zero, and each group corresponds to a predetermined mathematical operation; 将每个部分与第二预设值进行每个部分所在组所对应的预定数学运算。performing a predetermined mathematical operation corresponding to the group in which each part belongs to each part and the second preset value. 30.根据权利要求25所述的方法,其特征在于,每个字符组包括至少一个汉字,不同字符组之间不存在相同的汉字。30. The method according to claim 25, wherein each character group includes at least one Chinese character, and there are no identical Chinese characters among different character groups.
CN201410322559.6A 2014-07-08 2014-07-08 Method for generating machine code and registration code and method for software registration and function limiting Expired - Fee Related CN104123482B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410322559.6A CN104123482B (en) 2014-07-08 2014-07-08 Method for generating machine code and registration code and method for software registration and function limiting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410322559.6A CN104123482B (en) 2014-07-08 2014-07-08 Method for generating machine code and registration code and method for software registration and function limiting

Publications (2)

Publication Number Publication Date
CN104123482A CN104123482A (en) 2014-10-29
CN104123482B true CN104123482B (en) 2017-01-18

Family

ID=51768891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410322559.6A Expired - Fee Related CN104123482B (en) 2014-07-08 2014-07-08 Method for generating machine code and registration code and method for software registration and function limiting

Country Status (1)

Country Link
CN (1) CN104123482B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410501B (en) * 2014-12-25 2019-02-26 广东威创视讯科技股份有限公司 A kind of encryption method and device
CN106294064A (en) * 2016-07-28 2017-01-04 浪潮电子信息产业股份有限公司 A kind of device and method that baseboard management controller attribute is set
CN106326761B (en) * 2016-09-05 2019-04-30 天脉聚源(北京)传媒科技有限公司 A kind of encryption method and device of SN code
CN111164593B (en) * 2019-12-27 2022-06-21 威创集团股份有限公司 Registration authorization method and system
CN114912080B (en) * 2022-04-21 2024-07-16 健帆生物科技集团股份有限公司 Registration code generation method, control method, terminal device and storage medium
CN116243939B (en) * 2023-05-11 2023-07-21 深圳市驰普科达科技有限公司 Method and device for installing software, electronic equipment and storage medium
CN117708864B (en) * 2024-02-06 2024-05-28 深圳和润达科技有限公司 Intelligent management method and device for medium bit machine applied to cell formation component equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314572A (en) * 2011-10-14 2012-01-11 迈普通信技术股份有限公司 Registration information file generation method and device, and use authorization method of application software
CN103093129A (en) * 2013-01-09 2013-05-08 上海大唐移动通信设备有限公司 Registration code generation method and device used for software licensing
CN103914635A (en) * 2012-12-29 2014-07-09 中国航空工业集团公司第六三一研究所 Eclipse software product authorization permission management method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244754A1 (en) * 2007-04-02 2008-10-02 Edward Curren System and Method for Software License Management for Concurrent License Management and Issuance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314572A (en) * 2011-10-14 2012-01-11 迈普通信技术股份有限公司 Registration information file generation method and device, and use authorization method of application software
CN103914635A (en) * 2012-12-29 2014-07-09 中国航空工业集团公司第六三一研究所 Eclipse software product authorization permission management method
CN103093129A (en) * 2013-01-09 2013-05-08 上海大唐移动通信设备有限公司 Registration code generation method and device used for software licensing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"会计信息化系统注册码设计创意";韩锦生;《电脑编程技巧与维护》;20111018(第20期);67-68、70 *
"利用算术公式的用户名与注册码的生成算法";戚利;《电脑编程技巧与维护》;20100703(第13期);参见第3部分 *
"基于计算机硬件序列号进行软件加密的技术";王春来;《辽宁科技学院学报》;20080615;第10卷(第2期);参见第22页第2栏 *

Also Published As

Publication number Publication date
CN104123482A (en) 2014-10-29

Similar Documents

Publication Publication Date Title
CN104123482B (en) Method for generating machine code and registration code and method for software registration and function limiting
JP6640320B1 (en) Token management system and token management method
JP6903064B2 (en) Data transfer control method and system based on integrated blockchain
JP2019523492A (en) Device and method for performing obfuscated arithmetic
TW201638798A (en) Database server and client for query processing on encrypted data
CN111385084A (en) Key management method and device for digital assets and computer readable storage medium
Hekkala et al. Implementing post-quantum cryptography for developers
CN105703901B (en) Encrypted data input method and encrypted data input device
KR102352066B1 (en) Method of protecting secret data when used in a cryptographic algorithm
CN111159661B (en) Decompilation prevention method and device, electronic equipment and storage medium
Sun et al. Quality assessment of online automated privacy policy generators: an empirical study
CN108256343B (en) Encryption method and device for Shader file and decryption method and device
CN105279198A (en) Data table storage, modification, query and statistical methods
CN110502874B (en) Android App reinforcement method based on file self-modification
CN111193741B (en) Information sending method, information obtaining method, device and equipment
CN109408486A (en) File distribution method and system, distribution server and file generation device
CN110874481B (en) A prediction method and device based on GBDT model
CN110458566A (en) A block chain account address generation method, system, device and computer-readable storage medium
KR20060127007A (en) Software execution protection using active entities
CN114357390A (en) A code obfuscation method, device, electronic device and storage medium
CN108985759A (en) A kind of address generating method and system, equipment and storage medium encrypting currency
CN117077180B (en) Lesu encrypted data recovery feasibility assessment and processing device, method, electronic equipment and storage medium
CN110166493B (en) Social client address book dynamic protection method and device
CN104050399B (en) User authentication method and device and piracy tracking method and apparatus
JP2017129644A (en) Secret calculation information exchange system, data processing apparatus, secret calculation information exchange method, secret calculation information exchange program, and recording medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170118

Termination date: 20170708