Software authorization method, system, device and computer-readable storage medium

By obtaining the machine code data of the terminal device, generating authorization files and verifying them, the problem of software authorization without network connection is solved and the cost is reduced.

CN113868604BActive Publication Date: 2025-08-12SHENZHEN CLOU ELECTRONICS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111022779.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-01
Publication Date
2025-08-12
Estimated Expiration
2041-09-01

AI Technical Summary

Technical Problem

In the prior art, the software authorization method cannot be authorized without a network connection, and the USB dongle authorization method is costly.

Method used

By obtaining the machine code data of the terminal device, generating an authorization file, and sending it to the terminal device for verification processing using a preset transmission method, and finally software authorization is performed based on the verification results.

Benefits of technology

It realizes the authorization of software on terminal devices without network connection, reducing the authorization cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113868604B_ABST
    Figure CN113868604B_ABST
Patent Text Reader

Abstract

The present invention discloses a software authorization method, system, device, and computer-readable storage medium. The method includes: obtaining machine code data of a terminal device corresponding to the software to be authorized; generating an authorization file based on the machine code data; sending the authorization file to the terminal device using a preset sending method; verifying the authorization file on the terminal device to obtain a verification result; and authorizing the software to be authorized based on the verification result. Embodiments of this method enable the authorization certificate to be sent to the terminal device using a preset sending method, thereby authorizing the software to be authorized on the terminal device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a software authorization method, system, device and computer-readable storage medium. Background Art

[0002] After completing software development, software developers need to release or install the software in the user's environment for use. For software delivered to users, software development companies need to impose restrictions on their use, such as usage time, usage permissions, etc., to avoid software abuse.

[0003] At present, some companies are paying more and more attention to network security issues. The network does not support external connections, and software is generally used in the intranet, which makes it impossible to authorize the software through the Internet.

[0004] In the related art, the online authorization method is: the user installs the system and then registers and authorizes through the network. This registration method requires the terminal device to be connected to the Internet for authorization. When the terminal device is not connected to the external network, authorization cannot be performed.

[0005] In related technologies, the USB dongle authorization method is to reference the lib library of the authorization algorithm manufacturer and query the USB device. The authorized lib library will communicate with the USB, and the chip built into the USB will inform whether the authorization is successful. However, the hardware cost of the USB dongle is relatively high, and the built-in authorization algorithm is also charged, which makes the cost of the authorization process too high. Summary of the Invention

[0006] The present invention aims to solve at least one of the technical problems existing in the prior art. To this end, the present invention provides a software authorization method, system, device, and computer-readable storage medium, which can send an authorization certificate to a terminal device via a predetermined sending method, thereby authorizing the software to be authorized on the terminal device.

[0007] The software authorization method according to the first embodiment of the present invention includes:

[0008] Obtaining machine code data of the terminal device corresponding to the software to be authorized;

[0009] Generate authorization file based on machine code data;

[0010] Send the authorization file to the terminal device according to the preset sending method;

[0011] On the terminal device, the authorization file is verified and a verification result is obtained;

[0012] The software to be authorized is authorized based on the verification result.

[0013] The software authorization method according to the embodiment of the present invention has at least the following beneficial effects:

[0014] By obtaining the machine code data of the terminal device corresponding to the software to be authorized; generating an authorization file based on the machine code data; sending the authorization file to the terminal device according to a preset sending method; verifying the authorization file on the terminal device to obtain a verification result; authorizing the software to be authorized based on the verification result, and being able to send the authorization certificate to the terminal device through a preset sending method, thereby authorizing the software to be authorized on the terminal device.

[0015] According to some embodiments of the present application, including:

[0016] Obtain parameter data of the software to be authorized;

[0017] Preprocess parameter data and machine code data to obtain authorization certificate data;

[0018] The authorization certificate data is encrypted according to the preset encryption function to obtain the authorization file.

[0019] According to some embodiments of the present application, including:

[0020] Get the preset key data;

[0021] The key data and the authorization certificate data are combined to obtain the data to be encrypted;

[0022] The data to be encrypted is encrypted according to the encryption function to obtain the authorization file.

[0023] According to some embodiments of the present application, including:

[0024] Get the preset decryption function;

[0025] Decrypt the authorization file according to the decryption function to obtain the authorization certificate data;

[0026] Obtain verification data for the software to be authorized;

[0027] The authorization certificate data is verified according to the verification data to obtain a verification result.

[0028] According to some embodiments of the present application, including:

[0029] Combine the key data and the authorization file to obtain the data to be decrypted;

[0030] The data to be decrypted is decrypted according to the decryption function to obtain the authorization certificate data.

[0031] According to some embodiments of the present application, including:

[0032] The verification data includes at least one of the following: verification file path data, verification machine code data, verification name data, and verification authorization validity period data;

[0033] The verification result includes at least one of the following: a first result, a second result, a third result, or a fourth result;

[0034] Verify the authorization certificate data based on the verification data to obtain the verification results, including:

[0035] Performing a first verification process on the authorization certificate data according to the verification file path data to obtain a first result;

[0036] If the first result is that the verification is successful, performing a second verification process on the authorization certificate data according to the verification machine code data to obtain a second result;

[0037] If the second result is successful verification, a third verification process is performed on the authorization certificate data according to the verification name data to obtain a third result;

[0038] If the third result is that the verification is successful, a fourth verification process is performed on the authorization certificate data according to the verification authorization validity period data to obtain a fourth result.

[0039] According to some embodiments of the present application, including:

[0040] If the fourth result is verified successfully, the software to be authorized is authorized.

[0041] A software authorization system according to an embodiment of the second aspect of the present application includes:

[0042] An acquisition module is used to obtain the machine code data of the terminal device corresponding to the software to be authorized;

[0043] A generation module, used to generate an authorization file based on machine code data;

[0044] The sending module is used to send the authorization file to the terminal device according to the preset sending method;

[0045] The verification module is used to verify the authorization file on the terminal device and obtain the verification result;

[0046] The authorization module is used to authorize the authorized software based on the verification result.

[0047] A software authorization device according to an embodiment of the third aspect of the present application includes:

[0048] processor;

[0049] a memory for storing executable programs;

[0050] When the executable program is executed by the processor, the software authorization device is obtained to implement the software authorization method according to the first aspect of the present invention.

[0051] According to the fourth aspect of the present application, the computer-readable storage medium stores executable instructions, and the executable instructions can be executed by a computer to enable the computer to execute the software authorization method as described in the first aspect of the present invention.

[0052] Additional aspects and advantages of the present invention will be set forth in part in the description which follows and, in part, will be obvious from the description which follows, or may be learned by practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] The present invention will be further described below with reference to the accompanying drawings and embodiments, in which:

[0054] Figure 1 A schematic diagram of a specific flow chart of the software authorization method provided by the present invention;

[0055] Figure 2 A schematic diagram of a specific flow chart of step S200 in the software authorization method provided by the present invention;

[0056] Figure 3 A schematic diagram of a specific flow chart of step S230 in the software authorization method provided by the present invention;

[0057] Figure 4 A schematic diagram of a specific flow chart of step S400 in the software authorization method provided by the present invention;

[0058] Figure 5 A schematic diagram of a specific flow chart of step S420 in the software authorization method provided by the present invention;

[0059] Figure 6 This is a specific flowchart of step S440 in the software authorization method provided by the present invention. DETAILED DESCRIPTION

[0060] The following describes embodiments of the present invention in detail. 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 only to explain the present invention and are not to be construed as limiting the present invention.

[0061] In the description of the present invention, it should be understood that descriptions involving orientations, such as up, down, front, back, left, right, etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, they cannot be understood as limitations on the present invention.

[0062] In the description of the present invention, "several" means more than one, "plurality" means more than two, "greater than," "less than," and "exceed" are understood to exclude the number itself, while "above," "below," and "within" are understood to include the number itself. The use of "first" and "second" in the description is solely for the purpose of distinguishing technical features and should not be construed as indicating or implying relative importance, implicitly specifying the number of the indicated technical features, or implicitly specifying the order of the indicated technical features.

[0063] In the description of the present invention, unless otherwise clearly defined, terms such as setting, installing, and connecting should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in the present invention based on the specific content of the technical solution.

[0064] In the description of the present invention, reference to terms such as "one embodiment," "some embodiments," "illustrative embodiments," "examples," "specific examples," 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 invention. In this specification, the exemplary expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.

[0065] First, let’s analyze some of the terms used in this application:

[0066] Machine code data: also called machine instruction code data, machine instruction code data is a set of binary data used to control the operations and operand addresses that the computer should perform.

[0067] Authorization file: This refers to a self-protection method used by developers to prevent piracy of some application software. For example, if some software is out of date, you must use the authorization file if you want to use it again.

[0068] Symmetric encryption algorithms: In symmetric encryption algorithms, the sender processes both plaintext and key data through the algorithm's encryption function, transforming them into complex ciphertext data and sending it. Upon receiving the ciphertext data, if the receiver wishes to decipher the original plaintext data, they must use the encryption key and the algorithm's inverse algorithm to decrypt the ciphertext data and restore it to readable plaintext.

[0069] Key data: a string of numbers, letters or special symbols, which is used to control the process of data encryption and decryption.

[0070] like Figure 1 As shown, it is a schematic diagram of the implementation flow of the software authorization method provided in an embodiment of the present application. The software authorization method may include but is not limited to steps S100 to S500.

[0071] S100, obtaining machine code data of a terminal device corresponding to the software to be authorized;

[0072] S200, generating an authorization file according to the machine code data;

[0073] S300, sending the authorization file to the terminal device according to a preset sending method;

[0074] S400, on the terminal device, verifying the authorization file and obtaining a verification result;

[0075] S500: Authorize the software to be authorized according to the verification result.

[0076] In step S100 of some embodiments, the machine code data of the terminal device corresponding to the software to be authorized is obtained. If the software developer needs to perform authorization management on the user's software to be authorized, it is necessary to first obtain the machine code data of the terminal device on which the software to be authorized is to be installed on the user side and send it to the software developer to generate an authorization file.

[0077] In step S200 of some embodiments, generating an authorization file based on machine code data is specifically as follows: on the software developer's side, first obtaining parameter data of the software to be authorized, then preprocessing the parameter data and machine code data to obtain authorization certificate data, and then encrypting the authorization certificate data according to a preset encryption function to obtain an authorization file.

[0078] In some embodiments, reference Figure 2 , step S200 may include but is not limited to steps S210 to S230.

[0079] S210, obtaining parameter data of the software to be authorized;

[0080] S220, pre-processing the parameter data and machine code data to obtain authorization certificate data;

[0081] S230: Encrypt the authorization certificate data according to a preset encryption function to obtain an authorization file.

[0082] In step S210 of some embodiments, parameter data of the software to be authorized is obtained, and the parameter data includes at least one of the following: authorization validity period, name of the software to be authorized, whether it is permanent, applicant, permission group ID, registration code, and content decoding.

[0083] In step S220 of some embodiments, the parameter data and machine code data are pre-processed to obtain authorization certificate data. That is, the parameter data obtained in step S210 is combined with the machine code data of the terminal device corresponding to the software to be authorized obtained by the software developer from the user end, and both are filled into the authorization certificate generator to obtain the authorization certificate data.

[0084] In step S230 of some embodiments, the authorization certificate data is encrypted according to a preset encryption function to obtain an authorization file.

[0085] Optionally, the present application adopts the Advanced Encryption Standard symmetric encryption algorithm, and assumes that the encryption function of the algorithm is E. The authorization certificate data obtained in step S220 is encrypted by the encryption function to obtain an authorization file.

[0086] In some embodiments, reference Figure 3 , step S230 may include but is not limited to steps S231 to S233.

[0087] S231, obtaining preset key data;

[0088] S232, combining the key data and the authorization certificate data to obtain data to be encrypted;

[0089] S233, encrypt the data to be encrypted according to the encryption function to obtain an authorization file.

[0090] In step S231 of some embodiments, preset key data is obtained, and the key data is set to K.

[0091] In step S232 of some embodiments, the key data and the authorization certificate data are combined to obtain the data to be encrypted.

[0092] Optionally, the authorization certificate data is plain text data P, and the key data obtained in step S231 and the authorization certificate data obtained in step S220 are combined to obtain data to be encrypted.

[0093] In step S233 of some embodiments, the data to be encrypted is encrypted according to an encryption function to obtain an authorization file.

[0094] Optionally, the data to be encrypted obtained in step S232 is encrypted according to the encryption function preset in step S230 to obtain an authorization file, which is the ciphertext data obtained by the encryption process. The authorization file is defined as C.

[0095] Furthermore, it is expressed as follows: C=E(K, P), where C is the authorization file, E(X) is the encryption function, X is the dependent variable of the encryption function, K is the key data, and P is the authorization certificate data.

[0096] In step S300 of some embodiments, the authorization file is sent to the terminal device according to a preset sending method, wherein the sending method includes at least one of the following: email, third-party communication tool, QQ, WeChat, etc.

[0097] Optionally, the authorization file is obtained through step S230, and the software developer sends the authorization file to the user end through the above-mentioned sending method. After the user end receives it, it first decrypts it to obtain the authorization certificate data, and then copies it to the corresponding terminal device through a USB flash drive.

[0098] In step S400 of some embodiments, the authorization file is verified on the terminal device to obtain the verification result as follows: first, a preset decryption function is obtained, the authorization file is decrypted according to the decryption function to obtain authorization certificate data, and then the verification data of the software to be authorized is obtained, and the authorization certificate data is verified according to the verification data to obtain the verification result.

[0099] Optionally, the verification data includes at least one of the following: verification file path data, verification machine code data, verification name data, and verification authorization validity period data.

[0100] Optionally, the verification result includes at least one of the following: a first result, a second result, a third result, and a fourth result.

[0101] Furthermore, verifying the file path data is to pre-store the authorization certificate data in the same file directory path as the software to be authorized, and then verify whether the file directory path of the authorization certificate is the same as the file directory path of the software to be authorized.

[0102] Furthermore, the verification machine code data is data used to verify whether the machine code data in the authorization certificate data is identical to the machine code data on the terminal device where the software to be authorized exists.

[0103] Furthermore, the verification name data is data used to verify whether the software name data in the authorization certificate data is the same as the name data of the software to be authorized.

[0104] Furthermore, the authorization validity period verification data is data used to verify whether the validity period in the authorization certificate data and the log record time when the authorized software is used are still within the authorization validity period.

[0105] In some embodiments, reference Figure 4 , step S400 may include but is not limited to steps S410 to S440.

[0106] S410, obtaining a preset decryption function;

[0107] S420, decrypting the authorization file according to the decryption function to obtain authorization certificate data;

[0108] S430, obtaining verification data of the software to be authorized;

[0109] S440: Verify the authorization certificate data according to the verification data to obtain a verification result.

[0110] In step S410 of some embodiments, a preset decryption function is obtained.

[0111] Optionally, this application adopts the Advanced Encryption Standard symmetric encryption algorithm, and assumes that the decryption function of the algorithm is D.

[0112] In step S420 of some embodiments, the authorization file is decrypted according to the decryption function to obtain authorization certificate data, and the authorization file obtained in step S300 is decrypted according to the decryption function obtained in step S410 to obtain authorization certificate data.

[0113] Furthermore, it is expressed as follows: P=D(K, C), where P is the authorization certificate data, D(Y) is the decryption function, Y is the dependent variable of the decryption function, K is the key data, and C is the authorization file.

[0114] In step S430 of some embodiments, verification data of the software to be authorized is obtained, wherein the verification data includes at least one of the following: verification file path data, verification machine code data, verification name data, and verification authorization validity period data, which is used to verify the authorization certificate data in step S420.

[0115] In step S440 of some embodiments, the authorization certificate data is verified based on the verification data to obtain a verification result, specifically: first, a first verification is performed on the authorization certificate data based on the verification file path data to obtain a first result; if the first result is that the verification is successful, a second verification is performed on the authorization certificate data based on the verification machine code data to obtain a second result; if the second result is that the verification is successful, a third verification is performed on the authorization certificate data based on the verification name data to obtain a third result; if the third result is that the verification is successful, a fourth verification is performed on the authorization certificate data based on the verification authorization validity period data to obtain a fourth result.

[0116] In some embodiments, reference Figure 5 , step S420 may include but is not limited to steps S421 to S422.

[0117] S421, combining the key data and the authorization file to obtain the data to be decrypted;

[0118] S422, decrypt the data to be decrypted according to the decryption function to obtain authorization certificate data.

[0119] In step S421 of some embodiments, the key data and the authorization file are combined to obtain the data to be decrypted. Specifically, the key data in step S231 and the authorization file obtained in step S300 are combined to obtain the file to be decrypted.

[0120] In step S422 of some embodiments, the data to be decrypted is decrypted according to the decryption function to obtain authorization certificate data, and the data to be decrypted obtained in step S421 is decrypted according to the decryption function obtained in step S410 to obtain authorization certificate data.

[0121] Optionally, it can be expressed by the following formula: P=D(K, C), where P is the authorization certificate data, D(Y) is the decryption function, Y is the dependent variable of the decryption function, K is the key data, and C is the authorization file.

[0122] In some embodiments, reference Figure 6 , step S440 at least includes but is not limited to one of steps S441 to S444.

[0123] S441, performing a first verification process on the authorization certificate data according to the verification file path data to obtain a first result;

[0124] S442, if the first result is that the verification is successful, performing a second verification process on the authorization certificate data according to the verification machine code data to obtain a second result;

[0125] S443, if the second result is successful verification, performing a third verification process on the authorization certificate data according to the verification name data to obtain a third result;

[0126] S444: If the third result is that the verification is successful, a fourth verification process is performed on the authorization certificate data according to the verification authorization validity period data to obtain a fourth result.

[0127] In step S441 of some embodiments, a first verification process is performed on the authorization certificate data based on the verification file path data to obtain a first result, and a first verification process is performed on the authorization certificate data obtained in step S420 based on the verification file path data of the software to be authorized to verify whether the file directory path of the authorization certificate data is the same as the file directory path of the software to be authorized. If the file directory path of the authorization certificate data is the same as the file directory path of the software to be authorized, a prompt message indicating that the first result verification is successful is obtained. If the first result is that the verification is successful, step S442 is executed.

[0128] Optionally, verify whether the file directory path of the authorization certificate data is the same as the file directory path of the software to be authorized. If the file directory path of the authorization certificate data is not the same as the file directory path of the software to be authorized, the first result is a prompt message indicating that the verification failed, and the software authorization method process of this application is exited.

[0129] In step S442 of some embodiments, if the first result is successful verification, a second verification process is performed on the authorization certificate data based on the verification machine code data to obtain a second result, and the machine code data of the authorization certificate data obtained in step S420 is verified based on the verification machine code data to determine whether the machine code data in the authorization certificate data is the same as the verification machine code data. If they are the same, a prompt message indicating that the second result verification is successful is obtained. If the second result verification is successful, step S443 is executed.

[0130] Optionally, if the machine code data in the authorization certificate data is different from the verification machine code data, the second result is a prompt message indicating that the verification failed, and the software authorization method process of this application is exited.

[0131] In step S443 of some embodiments, if the second result is successful verification, the authorization certificate data is subjected to a third verification process based on the verification name data to obtain a third result. If a verification success prompt message of the second result is obtained in step S442, it is determined whether the software name in the authorization certificate data is the same as the software name in the verification name data. If they are the same, a prompt message of successful verification of the third result is obtained, and step S444 is executed.

[0132] Optionally, if the software name in the authorization certificate data is different from the software name in the verification name data, the third result is a prompt message indicating that the verification failed, and the software authorization method process of this application is exited.

[0133] In step S444 of some embodiments, if the third result is successful verification, the authorization certificate data is subjected to a fourth verification process based on the verification authorization validity period data to obtain a fourth result, the log time of the software to be authorized is obtained, and the generation time of the authorization certificate data is subjected to a fourth verification process based on the verification authorization validity period data, that is, the generation time of the authorization certificate data must be earlier than the time of the local log record of the software to be authorized. If the generation time of the authorization certificate is earlier than the time of the local log record of the software to be authorized, a prompt message indicating that the fourth result verification is successful is obtained, and step S500 is executed.

[0134] Optionally, if the generation time of the authorization certificate data is later than the local log record time of the software to be authorized, it means that the time of the local terminal device has been tampered with, and authorization will be denied. The fourth result is a prompt message indicating that the verification failed, and the software authorization method process of this application is exited.

[0135] In step S500 of some embodiments, according to the verification result, authorizing the software to be authorized may include:

[0136] If the fourth result is successfully verified, the software to be authorized is authorized, that is, if the prompt information that the fourth result is successfully verified is obtained in step S444, the software to be authorized is authorized.

[0137] In some embodiments, if the authorized software is authorized, it is still necessary to record the last time the authorized software is used each time and compare it with the authorization validity period in the authorization certificate data. If the time exceeds the authorization validity period, the authorized software will no longer be allowed to be used and re-authorization must be requested.

[0138] In some embodiments, if the authorized software is authorized, users who use the authorized software will be grouped and managed according to the authorization ID in the authorization certificate data. For example, users in group X only have the authorization permission to use function A of the authorized software, and users in group Y only have the authorization permission to use function B of the authorized software. Only by filling in the user's ID in the corresponding group can the user enjoy the authorization permission for the corresponding function.

[0139] In some embodiments, the software to be authorized may be a battery management system to execute the software authorization method of the present application.

[0140] In some embodiments, a software authorization system includes: an acquisition module for acquiring machine code data of a terminal device corresponding to the software to be authorized; a generation module for generating an authorization file based on the machine code data; a sending module for sending the authorization file to the terminal device according to a preset sending method; a verification module for verifying the authorization file on the terminal device to obtain a verification result; and an authorization module for authorizing the software to be authorized based on the verification result.

[0141] In some implementations, a software authorization device includes: a processor and a memory, wherein the memory is used to store an executable program, and the executable program executes the software authorization method described above when executed.

[0142] In some embodiments, the computer-readable storage medium stores executable instructions, and the executable instructions can be executed by a computer.

[0143] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0144] The embodiments described in the embodiments of the present disclosure are intended to more clearly illustrate the technical solutions of the embodiments of the present disclosure and do not constitute a limitation on the technical solutions provided by the embodiments of the present disclosure. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present disclosure are also applicable to similar technical problems.

[0145] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0146] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0147] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0148] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store programs, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0149] The preferred embodiments of the present disclosure are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present disclosure. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present disclosure should be within the scope of the present disclosure.

Claims

1. A software authorization method, characterized in that: include: Obtaining machine code data of the terminal device corresponding to the software to be authorized; Generating an authorization file based on the machine code data, the generating of the authorization file based on the machine code data comprising: obtaining parameter data of the software to be authorized, the parameter data comprising: authorization validity period, name of the software to be authorized, whether it is permanent, applicant, permission group ID, registration code, and content decoding; pre-processing the parameter data and the machine code data to obtain authorization certificate data; obtaining preset key data; combining the key data and the authorization certificate data to obtain data to be encrypted; and encrypting the data to be encrypted according to a preset encryption function to obtain the authorization file; Sending the authorization file to the terminal device according to a preset sending method; On the terminal device, the authorization file is verified and processed to obtain a verification result; the verification process on the authorization file on the terminal device to obtain the verification result includes: obtaining a preset decryption function; decrypting the authorization file according to the decryption function to obtain the authorization certificate data; obtaining the verification data of the software to be authorized; verifying the authorization certificate data according to the verification data to obtain the verification result; wherein the verification data includes: verification file path data, verification machine code data, verification name data, verification authorization validity period data; the verification result includes: a first result, a second result, a third result, and a fourth result; the verification process on the authorization certificate data according to the verification data The process of obtaining the verification result comprises the following steps: performing a first verification process on the authorization certificate data according to the verification file path data to obtain the first result, wherein the first result is used to indicate whether the file directory path of the authorization certificate data and the file directory path of the software to be authorized are the same; if the first result is that the verification is successful, performing a second verification process on the authorization certificate data according to the verification machine code data to obtain the second result; if the second result is that the verification is successful, performing a third verification process on the authorization certificate data according to the verification name data to obtain the third result; if the third result is that the verification is successful, performing a fourth verification process on the authorization certificate data according to the verification authorization validity period data to obtain the fourth result; Authorizing the software to be authorized according to the verification result; authorizing the software to be authorized according to the verification result includes: if the fourth result is successfully verified, authorizing the software to be authorized.

2. The software authorization method according to claim 1, characterized in that: The decrypting the authorization file according to the decryption function to obtain the authorization certificate data includes: Combining the key data and the authorization file to obtain data to be decrypted; The data to be decrypted is decrypted according to the decryption function to obtain the authorization certificate data.

3. Software authorization system, characterized in that, include: An acquisition module is used to obtain the machine code data of the terminal device corresponding to the software to be authorized; a generation module, configured to generate an authorization file based on the machine code data, the generation of the authorization file based on the machine code data comprising: obtaining parameter data of the software to be authorized, the parameter data comprising: an authorization validity period, a name of the software to be authorized, whether it is permanent, an applicant, a permission group ID, a registration code, and a content decode; pre-processing the parameter data and the machine code data to obtain authorization certificate data; obtaining preset key data; combining the key data and the authorization certificate data to obtain data to be encrypted; and encrypting the data to be encrypted according to a preset encryption function to obtain the authorization file; A sending module, configured to send the authorization file to the terminal device according to a preset sending method; The verification module is used to verify the authorization file on the terminal device and obtain a verification result; the verification of the authorization file on the terminal device to obtain the verification result includes: obtaining a preset decryption function; decrypting the authorization file according to the decryption function to obtain the authorization certificate data; obtaining the verification data of the software to be authorized; verifying the authorization certificate data according to the verification data to obtain the verification result; wherein the verification data includes: verification file path data, verification machine code data, verification name data, verification authorization validity period data; the verification result includes: a first result, a second result, a third result, and a fourth result; the verification of the authorization certificate data according to the verification data Performing verification processing to obtain the verification result includes the following steps: performing a first verification processing on the authorization certificate data according to the verification file path data to obtain the first result, the first result being used to indicate whether the file directory path of the authorization certificate data and the file directory path of the software to be authorized are the same; if the first result is that the verification is successful, performing a second verification processing on the authorization certificate data according to the verification machine code data to obtain the second result; if the second result is that the verification is successful, performing a third verification processing on the authorization certificate data according to the verification name data to obtain the third result; if the third result is that the verification is successful, performing a fourth verification processing on the authorization certificate data according to the verification authorization validity period data to obtain the fourth result; The authorization module is used to authorize the software to be authorized according to the verification result. The authorization of the software to be authorized according to the verification result includes: if the fourth result is successfully verified, authorizing the software to be authorized.

4. Software authorization device, characterized in that, include: processor; a memory for storing executable programs; When the executable program is executed by the processor, the software authorization device is obtained to implement the software authorization method according to any one of claims 1 to 2.

5. A computer-readable storage medium, characterized in that The computer-readable storage medium stores executable instructions, and the executable instructions can be executed by a computer to enable the computer to execute the software authorization method according to any one of claims 1 to 2.

Citation Information

Patent Citations

  • Method and system for verifying use authorization in distributed environment

    CN103312513A

  • License authorization method, device and equipment and readable storage medium

    CN110096849A