Offline software authorization method and device, electronic equipment and storage medium

By combining computer hardware information and AES encryption algorithms to generate and decrypt authorization codes, the existing offline software authorization methods are solved, and the efficient, secure authorization and flexible management of the software are achieved.

CN119150258AInactive Publication Date: 2024-12-17CHINA THREE GORGES TECH CO LTD +1

Patent Information

Application Number
CN202411167613.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2024-12-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing offline software authorization methods are prone to cracking, have low security and poor flexibility, and cannot effectively manage software authorization.

Method used

By combining computer hardware information and AES encryption algorithm, an encrypted authorization request code is generated, sent to the authorization server and received the authorization code, and the authorization information is decrypted using the preset AES decryption algorithm, so that the software of the target computer runs based on the authorization information and is in real time Monitor the remaining time for authorization, update the registry and display the authorization time.

Benefits of technology

It realizes efficient and secure authorization of the software, ensures the effectiveness and flexibility of authorization information, prevents unauthorized use and cracking, and supports software reinstallation and authorization recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119150258A_ABST
    Figure CN119150258A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of software authorization, in particular to an offline software authorization method and device, electronic equipment and a storage medium, and the method comprises the steps: generating an authorization request code based on hardware information of a target computer, encrypting the authorization request code based on a preset AES encryption algorithm, and generating an encrypted authorization request code; the encrypted authorization request code is sent to an authorization server, an authorization code which is sent by the authorization server and generated based on the encrypted authorization request code is received, and the authorization code is generated by encrypting authorization information; and when the software runs on the target computer, reading the authorization code by using the software, and decrypting the authorization code based on a preset AES decryption algorithm to obtain the authorization information, so that the software of the target computer runs based on the authorization information. Therefore, the problems that a software authorization method in the background technology is easy to crack, poor in flexibility and the like are solved, and efficient and safe authorization of the software is achieved by combining computer hardware information and the AES encryption algorithm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of software authorization, and in particular to an offline software authorization method, device, electronic device, and storage medium. Background Art

[0002] With the widespread application of computer software in various industries, software protection and authorization management have become particularly important. In an offline environment, due to the lack of network connection, traditional online authorization methods cannot be implemented. Therefore, it is necessary to develop a secure and reliable offline software authorization method.

[0003] Currently, offline authorization mainly relies on hardware dongles or software-based registration codes, but these methods have problems such as easy cracking, low security, and poor flexibility, which need to be solved urgently. Summary of the Invention

[0004] The present application provides an offline software authorization method, device, electronic device and storage medium to solve the problems of offline software authorization methods in the background technology, such as being easily cracked, having low security and poor flexibility. By combining computer hardware information and the AES (Advanced Encryption Standard) encryption algorithm, efficient and secure software authorization is achieved.

[0005] The first embodiment of the present application provides an offline software authorization method, comprising the following steps:

[0006] Generate an authorization request code based on the hardware information of the target computer, and encrypt the authorization request code based on a preset AES encryption algorithm to generate an encrypted authorization request code;

[0007] Sending the encrypted authorization request code to an authorization server, and receiving an authorization code generated based on the encrypted authorization request code from the authorization server, wherein the authorization code is generated by encrypting the authorization information;

[0008] When the software is run on the target computer, the authorization code is read by the software, and the authorization code is decrypted based on a preset AES decryption algorithm to obtain the authorization information, so that the software of the target computer runs based on the authorization information.

[0009] According to one embodiment of the present application, after decrypting the authorization code based on a preset AES decryption algorithm to obtain the authorization information, the process further includes:

[0010] Verifying whether the authorization information is valid;

[0011] If the authorization information is not the valid information, the software of the target computer is denied from running based on the authorization information.

[0012] According to one embodiment of the present application, verifying whether the authorization information is valid information includes:

[0013] Determining whether the authorization code matches the hardware information of the target computer and whether the authorization code is within the validity period;

[0014] If the encrypted authorization code matches the hardware information of the target computer and the encrypted authorization code is within the validity period, the authorization information is determined to be the valid information.

[0015] According to one embodiment of the present application, after determining that the authorization information is the valid information, the method further includes:

[0016] Create or update the authorization key value in the registry and store the authorization code;

[0017] The authorization information in the registry is retained when the software is uninstalled to support authorization recovery after the software is reinstalled.

[0018] According to one embodiment of the present application, after the software of the target computer is run based on the authorization information, the method further includes:

[0019] The remaining time of software authorization is monitored in real time, and a registration table is updated according to the remaining time of software authorization, and the remaining time of software authorization is displayed.

[0020] According to one embodiment of the present application, the real-time monitoring of the remaining time of software authorization and updating the registration table according to the remaining time of software authorization include:

[0021] Calculating the difference between the expiration date in the authorization code and the system time of the target computer to obtain the remaining time of the first software;

[0022] The smaller value between the first software remaining time and the second software remaining time recorded in the registry is used as the current remaining time;

[0023] The registration table is updated according to the current remaining time.

[0024] According to one embodiment of the present application, the above-mentioned offline software authorization method further includes:

[0025] When the software is uninstalled and reinstalled, determining whether there is valid authorization information in the registry;

[0026] If the valid authorization information exists, the software is automatically activated.

[0027] According to the offline software authorization method of the embodiment of the present application, an authorization request code is generated based on the hardware information of the target computer, and the authorization request code is encrypted using a preset AES encryption algorithm to generate an encrypted authorization request code. The encrypted authorization request code is sent to an authorization server, and the authorization server receives an authorization code generated based on the encrypted authorization request code. When the software is run on the target computer, the authorization code is read by the software and decrypted using a preset AES decryption algorithm to obtain authorization information, so that the software on the target computer runs based on the authorization information. This solves the problems of the offline software authorization method of the prior art, such as being easily crackable, having low security, and poor flexibility. By combining computer hardware information with the AES encryption algorithm, efficient and secure software authorization is achieved.

[0028] A second embodiment of the present application provides an offline software authorization device, including:

[0029] A generation module, configured to generate an authorization request code based on the hardware information of the target computer, and encrypt the authorization request code based on a preset AES encryption algorithm to generate an encrypted authorization request code;

[0030] a processing module, configured to send the encrypted authorization request code to an authorization server, and receive an authorization code generated based on the encrypted authorization request code and sent by the authorization server, wherein the authorization code is generated by encrypting the authorization information;

[0031] The decryption and execution module is used to read the authorization code using software when running the software on the target computer, and decrypt the authorization code based on a preset AES decryption algorithm to obtain the authorization information, so that the software of the target computer runs based on the authorization information.

[0032] According to one embodiment of the present application, after decrypting the authorization code based on a preset AES decryption algorithm to obtain the authorization information, the decryption execution module is further configured to:

[0033] Verifying whether the authorization information is valid;

[0034] If the authorization information is not the valid information, the software of the target computer is denied from running based on the authorization information.

[0035] According to one embodiment of the present application, the decryption execution module is used to:

[0036] Determining whether the authorization code matches the hardware information of the target computer and whether the authorization code is within the validity period;

[0037] If the encrypted authorization code matches the hardware information of the target computer and the encrypted authorization code is within the validity period, the authorization information is determined to be the valid information.

[0038] According to one embodiment of the present application, after determining that the authorization information is valid information, the decryption and execution module is further configured to:

[0039] Create or update the authorization key value in the registry and store the authorization code;

[0040] The authorization information in the registry is retained when the software is uninstalled to support authorization recovery after the software is reinstalled.

[0041] According to one embodiment of the present application, after the software of the target computer is run based on the authorization information, the decryption and execution module is further configured to:

[0042] The remaining time of software authorization is monitored in real time, and a registration table is updated according to the remaining time of software authorization, and the remaining time of software authorization is displayed.

[0043] According to one embodiment of the present application, the decryption execution module is used to:

[0044] Calculating the difference between the expiration date in the authorization code and the system time of the target computer to obtain the remaining time of the first software;

[0045] The smaller value between the first software remaining time and the second software remaining time recorded in the registry is used as the current remaining time;

[0046] The registration table is updated according to the current remaining time.

[0047] According to one embodiment of the present application, the above-mentioned offline software authorization device is further used to:

[0048] When the software is uninstalled and reinstalled, determining whether there is valid authorization information in the registry;

[0049] If the valid authorization information exists, the software is automatically activated.

[0050] According to the offline software authorization device of the embodiment of the present application, an authorization request code is generated based on the hardware information of the target computer, and the authorization request code is encrypted using a preset AES encryption algorithm to generate an encrypted authorization request code. The encrypted authorization request code is sent to an authorization server, and the authorization server receives an authorization code generated based on the encrypted authorization request code. When the software is run on the target computer, the authorization code is read by the software and decrypted using a preset AES decryption algorithm to obtain authorization information, so that the software on the target computer runs based on the authorization information. This solves the problems of the offline software authorization method in the prior art, such as being easily crackable, having low security, and poor flexibility. By combining computer hardware information with the AES encryption algorithm, efficient and secure software authorization is achieved.

[0051] The third aspect of the present application provides an electronic device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the offline software authorization method as described in the above embodiment.

[0052] A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which is executed by a processor to implement the offline software authorization method as described in the above embodiment.

[0053] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0055] Figure 1 A flowchart of an offline software authorization method provided according to an embodiment of the present application;

[0056] Figure 2 Schematic diagram of an offline software authorization device according to an embodiment of the present application;

[0057] Figure 3 Schematic diagram of the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0058] The following describes in detail embodiments of the present application. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0059] The following describes an offline software authorization method, device, electronic device, and storage medium according to an embodiment of the present application with reference to the accompanying drawings. In response to the problems of being easily cracked, having low security, and having poor flexibility mentioned in the above-mentioned background technology, the present application provides an offline software authorization method. In this method, an authorization request code is generated based on the hardware information of the target computer, and the authorization request code is encrypted based on a preset AES encryption algorithm to generate an encrypted authorization request code; the encrypted authorization request code is sent to an authorization server, and an authorization code generated based on the encrypted authorization request code and sent by the authorization server is received. When the software is run on the target computer, the authorization code is read by the software, and the authorization code is decrypted based on a preset AES decryption algorithm to obtain authorization information, so that the software of the target computer runs based on the authorization information. Thus, the problems of being easily cracked, having low security, and having poor flexibility in the offline software authorization method of the background technology are solved, and by combining computer hardware information and the AES encryption algorithm, efficient and secure software authorization is achieved.

[0060] Specifically, Figure 1 A flowchart of an offline software authorization method provided in an embodiment of the present application.

[0061] like Figure 1 As shown, the offline software authorization method includes the following steps:

[0062] In step S101, an authorization request code is generated based on the hardware information of the target computer, and the authorization request code is encrypted based on a preset AES encryption algorithm to generate an encrypted authorization request code.

[0063] The computer's hardware information includes the hardware ID, the hard disk serial number, the network adapter MAC (Media Access Control) address, and the unique identification information input by the user.

[0064] Optionally, the key length of the preset AES encryption algorithm may be 128 bits, 192 bits, or 256 bits to enhance encryption strength.

[0065] Specifically, first, the software generates an authorization request code based on the hardware information of the target computer. Second, the software encrypts the authorization request code using a preset AES encryption algorithm (a symmetric encryption algorithm) and generates an encrypted authorization request code.

[0066] In step S102, the encrypted authorization request code is sent to the authorization server, and an authorization code generated based on the encrypted authorization request code and sent by the authorization server is received, wherein the authorization code is generated by encrypting the authorization information.

[0067] The authorization information includes the computer hardware serial number, remaining authorization time, number of authorizations, and function module information.

[0068] Specifically, the encrypted authorization request code is sent to the authorization server. The authorization server first obtains the user's needs and determines the authorization time, number of authorizations and authorization function module information based on the user's needs. Based on the authorization time, number of authorizations and authorization function module information, a dynamic key is used to generate an authorization code containing the authorization information, so that the authorization code generated each time is different, thereby increasing the difficulty of cracking.

[0069] Furthermore, the authorization code containing the authorization information is encrypted based on a preset AES encryption algorithm to generate an encrypted authorization code to protect the secure transmission of the authorization information, and the encrypted authorization code is sent back to the target computer. After receiving the authorization code, the target computer stores it for verification when the software is running.

[0070] It should be noted that the generation of the authorization code in the embodiment of the present application is based on the user's request and the verification of the server, ensuring that only legitimate requests will be granted an authorization code. In addition, the embodiment of the present application can also add a timestamp during the generation of the authorization request code and the authorization code to increase the difficulty of cracking and ensure the timeliness of the authorization code.

[0071] In step S103, when the software is run on the target computer, the software reads the authorization code and decrypts the authorization code based on a preset AES decryption algorithm to obtain authorization information, so that the software of the target computer runs based on the authorization information.

[0072] Furthermore, in some embodiments, after decrypting the authorization code based on a preset AES decryption algorithm to obtain the authorization information, it also includes: verifying whether the authorization information is valid information; if the authorization information is not valid information, refusing the software of the target computer to run based on the authorization information.

[0073] Specifically, when the software is running, the stored encrypted authorization code is read and decrypted based on the preset AES decryption algorithm to verify the validity of the authorization information. If the authorization information verification is successful (that is, the authorization information is valid information), the software will run normally according to the authorization information; if the authorization information verification fails (that is, the authorization information is not valid information), the software will refuse to run or limit the use of functions.

[0074] Furthermore, in some embodiments, verifying whether the authorization information is valid information includes: determining whether the authorization code matches the hardware information of the target computer and whether the authorization code is within the validity period; if the encrypted authorization code matches the hardware information of the target computer and the encrypted authorization code is within the validity period, then the authorization information is determined to be valid information.

[0075] Specifically, when the software is started, the hardware information of the target computer, such as the hard disk serial number, MAC address or other unique hardware identifier, will be collected again, and the hardware information of the re-collected target computer will be compared with the hardware information contained in the authorization code already stored in the target computer. If the two information do not match, it may be an attempt to run the software on an unauthorized computer, so the authorization code is judged invalid, thereby ensuring that the authorization code is bound to specific hardware, realizing "one machine, one code".

[0076] Furthermore, the authorization code typically includes the validity period of the authorization, which can be the usage time (for example, the authorization code expires after one year) or the number of uses (for example, the software can only be started 100 times). The software will check the current system time and / or the number of uses each time it is started, and compare them with the limit values ​​in the authorization code. If the software runs for a period exceeding the authorization validity period or the number of uses exceeds the maximum number of times allowed, the authorization code is deemed expired or exhausted (i.e., the authorization information is invalid), and further use is denied.

[0077] Therefore, in the embodiment of the present application, when the encrypted authorization code matches the hardware information of the target computer and the encrypted authorization code is within the validity period, the authorization information is determined to be valid information.

[0078] In addition, the embodiment of the present application can further determine whether the authorization information is valid information by determining whether the authorization code has been tampered with or copied.

[0079] Because authorization codes are typically encrypted to prevent unauthorized modification, the software uses the same encryption algorithm to decrypt the stored authorization code and then checks that the decrypted information is intact. Any illegal modification of the authorization code may cause decryption failure or inconsistent information, thus being identified as tampering. In addition, the software may also implement mechanisms to detect whether the authorization code has been illegally copied and used on multiple computers. For example, through network queries or locally stored authorization history records, check whether the same authorization code has been activated simultaneously on multiple computers. If the authorization code is found to have been copied, the authorization information is deemed invalid, or the authorization is revalidated.

[0080] Furthermore, in some embodiments, after determining that the authorization information is valid information, it also includes: creating or updating the authorization key value in the registry and storing the authorization code; retaining the authorization information in the registry when the software is uninstalled to support authorization recovery after the software is reinstalled.

[0081] Furthermore, in some embodiments, the above-mentioned offline software authorization method further includes: when the software is uninstalled and reinstalled, determining whether there is valid authorization information in the registry; if there is valid authorization information, automatically activating the software.

[0082] Specifically, after determining that the authorization information is valid, the software will operate normally based on the authorization information and write the authorization information into the registry of the target computer. If the authorization information changes, such as renewal or upgrade of the authorization, a new authorization code will be generated and replace the old authorization code, that is, the authorization key value in the registry will be updated and the authorization code will be stored.

[0083] Furthermore, during the software uninstallation process, the software retains the authorization key values ​​in the registry by default, and these keys are not deleted even during the uninstallation process. When the user reinstalls the software, the software will read the authorization information in the registry again. Because the authorization information is retained during the uninstallation, the software can recognize the previous authorization status and automatically restore the authorization without the user having to reactivate it, thus improving the user experience.

[0084] Furthermore, in some embodiments, after the software of the target computer runs based on the authorization information, the method further includes: monitoring the remaining time of the software authorization in real time, updating a registry according to the remaining time of the software authorization, and displaying the remaining time of the software authorization.

[0085] Furthermore, in some embodiments, the software authorization remaining time is monitored in real time, and a registry is updated according to the software authorization remaining time, including: calculating the difference between the expiration date in the authorization code and the system time of the target computer to obtain a first software remaining time; taking the smaller value of the first software remaining time and the second software remaining time recorded in the registry as the current remaining time; and updating the registry according to the current remaining time.

[0086] Specifically, first, the expiration date of the validity period, that is, the latest time point when the software can be used, is parsed from the software's authorization code, and the current system time is read from the target computer running the software to determine the current time point, and the difference between the expiration date in the authorization code and the system time of the current target computer is calculated, and the difference is used as the remaining time of the first software.

[0087] Furthermore, the remaining time recorded when the software is started or when the authorization is last checked is read from the registry, and the remaining time is used as the second software remaining time.

[0088] Furthermore, the remaining time of the first software is compared with the remaining time of the second software in the registry. Since the remaining time of the second software in the registry may be calculated when the software was previously run, and the remaining time of the first software is the result of the latest calculation, the two times may be different. Considering that the remaining time of the software should not be more than the remaining time recorded before, the smaller value of the remaining time of the first software and the remaining time of the second software is selected as the current remaining time, thereby preventing attempts to extend the validity period of the authorization by adjusting the system time.

[0089] During the use of the software, the current remaining time is counted down, and the current remaining time is encrypted at each preset interval. The encrypted current remaining time is updated to the registry to reflect the remaining authorization time, ensuring that the latest remaining time can be read when the software is started next time.

[0090] According to the offline software authorization method of the embodiment of the present application, an authorization request code is generated based on the hardware information of the target computer, and the authorization request code is encrypted using a preset AES encryption algorithm to generate an encrypted authorization request code. The encrypted authorization request code is sent to an authorization server, and the authorization server receives an authorization code generated based on the encrypted authorization request code. When the software is run on the target computer, the authorization code is read by the software and decrypted using a preset AES decryption algorithm to obtain authorization information, so that the software on the target computer runs based on the authorization information. This solves the problems of the offline software authorization method of the prior art, such as being easily crackable, having low security, and poor flexibility. By combining computer hardware information with the AES encryption algorithm, efficient and secure software authorization is achieved.

[0091] Next, the offline software authorization device proposed according to the embodiment of the present application is described with reference to the accompanying drawings.

[0092] Figure 2 It is a block diagram of an offline software authorization device according to an embodiment of the present application.

[0093] like Figure 2 As shown, the off-line software authorization device 10 includes: a generation module 100 , a processing module 200 and a decryption module 300 .

[0094] Among them, the generation module 100 is used to generate an authorization request code based on the hardware information of the target computer, and encrypt the authorization request code based on the preset AES encryption algorithm to generate an encrypted authorization request code; the processing module 200 is used to send the encrypted authorization request code to the authorization server, and receive the authorization code generated based on the encrypted authorization request code sent by the authorization server, wherein the authorization code is generated by encrypting the authorization information; the decryption and operation module 300 is used to read the authorization code using the software when running the software on the target computer, and decrypt the authorization code based on the preset AES decryption algorithm to obtain the authorization information, so that the software of the target computer runs based on the authorization information.

[0095] Furthermore, in some embodiments, after decrypting the authorization code based on a preset AES decryption algorithm to obtain authorization information, the decryption and execution module 300 is also used to: verify whether the authorization information is valid information; if the authorization information is not valid information, deny the software of the target computer from running based on the authorization information.

[0096] Furthermore, in some embodiments, the decryption operation module 300 is used to: determine whether the authorization code matches the hardware information of the target computer and whether the authorization code is within the validity period; if the encrypted authorization code matches the hardware information of the target computer and the encrypted authorization code is within the validity period, the authorization information is determined to be valid information.

[0097] Furthermore, in some embodiments, after determining that the authorization information is valid information, the decryption operation module 300 is also used to: create or update the authorization key value in the registry and store the authorization code; retain the authorization information in the registry when the software is uninstalled to support authorization recovery after the software is reinstalled.

[0098] Furthermore, in some embodiments, after the software of the target computer runs based on the authorization information, the decryption and execution module 300 is also used to: monitor the remaining time of the software authorization in real time, update the registry according to the remaining time of the software authorization, and display the remaining time of the software authorization.

[0099] Furthermore, in some embodiments, the decryption operation module 300 is used to: calculate the difference between the expiration date in the authorization code and the system time of the target computer to obtain the remaining time of the first software; use the smaller value of the first software remaining time and the second software remaining time recorded in the registry as the current remaining time; and update the registry according to the current remaining time.

[0100] Furthermore, in some embodiments, the above-mentioned offline software authorization device 10 is also used to: determine whether there is valid authorization information in the registry when the software is uninstalled and reinstalled; if there is valid authorization information, automatically activate the software.

[0101] It should be noted that the above explanations of the offline software authorization method embodiment are also applicable to the offline software authorization device of this embodiment, and will not be repeated here.

[0102] According to the offline software authorization device of the embodiment of the present application, an authorization request code is generated based on the hardware information of the target computer, and the authorization request code is encrypted using a preset AES encryption algorithm to generate an encrypted authorization request code. The encrypted authorization request code is sent to an authorization server, and the authorization server receives an authorization code generated based on the encrypted authorization request code. When the software is run on the target computer, the authorization code is read by the software and decrypted using a preset AES decryption algorithm to obtain authorization information, so that the software on the target computer runs based on the authorization information. This solves the problems of the offline software authorization method in the prior art, such as being easily crackable, having low security, and poor flexibility. By combining computer hardware information with the AES encryption algorithm, efficient and secure software authorization is achieved.

[0103] Figure 3This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device may include:

[0104] Memory 301 , processor 302 , and computer programs stored in the memory 301 and executable on the processor 302 .

[0105] When the processor 302 executes the program, the offline software authorization method provided in the above embodiment is implemented.

[0106] Furthermore, the electronic device further includes:

[0107] The communication interface 303 is used for communication between the memory 301 and the processor 302 .

[0108] The memory 301 is used to store computer programs that can be run on the processor 302 .

[0109] The memory 301 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0110] If the memory 301, processor 302, and communication interface 303 are implemented independently, the communication interface 303, memory 301, and processor 302 can be interconnected via a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0111] Optionally, in a specific implementation, if the memory 301, the processor 302 and the communication interface 303 are integrated on a chip, the memory 301, the processor 302 and the communication interface 303 can communicate with each other through an internal interface.

[0112] The processor 302 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.

[0113] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon, which implements the above-mentioned offline software authorization method when executed by a processor.

[0114] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or N embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.

[0115] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of such features. Throughout the description of this application, "plurality" means at least two, for example, two, three, etc., unless otherwise specifically defined.

[0116] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. An offline software authorization method, characterized in that: The following steps are involved: Generate an authorization request code based on the hardware information of the target computer, and encrypt the authorization request code based on a preset AES encryption algorithm to generate an encrypted authorization request code; Sending the encrypted authorization request code to an authorization server, and receiving an authorization code sent by the authorization server and generated based on the encrypted authorization request code, wherein the authorization code is generated by encrypting the authorization information; When the software is run on the target computer, the authorization code is read by the software, and the authorization code is decrypted based on a preset AES decryption algorithm to obtain the authorization information, so that the software of the target computer runs based on the authorization information.

2. The method according to claim 1, characterized in that After decrypting the authorization code based on a preset AES decryption algorithm to obtain the authorization information, the method further includes: Verifying whether the authorization information is valid; If the authorization information is not the valid information, the software of the target computer is denied to run based on the authorization information.

3. The method according to claim 2, characterized in that The verifying whether the authorization information is valid information includes: Determining whether the authorization code matches the hardware information of the target computer and whether the authorization code is within the validity period; If the encrypted authorization code matches the hardware information of the target computer and the encrypted authorization code is within the validity period, the authorization information is determined to be the valid information.

4. The method according to claim 3, characterized in that After determining that the authorization information is the valid information, the method further includes: Create or update the authorization key value in the registry and store the authorization code; The authorization information in the registry is retained when the software is uninstalled to support authorization recovery after the software is reinstalled.

5. The method according to claim 1, characterized in that After the software of the target computer is run based on the authorization information, the method further comprises: The remaining time of software authorization is monitored in real time, and a registration table is updated according to the remaining time of software authorization, and the remaining time of software authorization is displayed.

6. The method according to claim 5, characterized in that The real-time monitoring of the remaining time of software authorization and updating the registration table according to the remaining time of software authorization include: Calculate the difference between the expiration date in the authorization code and the system time of the target computer to obtain the remaining time of the first software; The smaller value of the first software remaining time and the second software remaining time recorded in the registry is used as the current remaining time; The registration table is updated according to the current remaining time.

7. The method according to claim 1, characterized in that Also includes: When the software is uninstalled and reinstalled, determining whether there is valid authorization information in the registry; If the valid authorization information exists, the software is automatically activated.

8. An offline software authorization device, characterized in that: include: A generation module, used to generate an authorization request code based on the hardware information of the target computer, and encrypt the authorization request code based on a preset AES encryption algorithm to generate an encrypted authorization request code; A processing module, configured to send the encrypted authorization request code to an authorization server, and receive an authorization code generated based on the encrypted authorization request code and sent by the authorization server, wherein the authorization code is generated by encrypting the authorization information; The decryption and operation module is used to read the authorization code using software when running the software on the target computer, and decrypt the authorization code based on a preset AES decryption algorithm to obtain the authorization information, so that the software of the target computer runs based on the authorization information.

9. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the offline software authorization method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the offline software authorization method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Software authorization code encryption method

    CN113660205A

  • Software offline authorization method and system, computer equipment and storage medium

    CN116244666A

Cited By

  • Software authentication method and device

    CN119783140A

  • License authentication control method and system, computer equipment and medium

    CN120979721A

  • A license authentication control method and system, a computer device and a medium

    CN120979721B