Software authorization use method, software authorization method, device, medium and equipment
By comparing the current physical information and pre-stored information on the terminal device, software authorization is only performed when matching, the problem of software being illegally authorized and used is solved, and the legal and secure authorization of the software is realized.
Patent Information
- Application Number
- CN202311714440.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-13
- Publication Date
- 2025-06-13
AI Technical Summary
The prior art cannot effectively prevent the software from being illegally authorized for use, especially when the user copys the operating system, the terminal identification code of the installed software is retained, resulting in the software being used directly in the copied operating system.
By comparing the current first physical information of the terminal device with the pre-stored second physical information, the pre-stored terminal identification code corresponds to the device only when the match is matched, and an authentication request is sent to the server for authorization.
It effectively prevents the software from being illegally used and ensures the legality and security of software authorization.
Smart Images

Figure CN120145338A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software technology, and in particular, to a software licensing method, a software authorization method, a device, a medium, and a device. Background Art
[0002] With the development of information technology, information processing in all walks of life is inseparable from the use of software. Software plays a key role in supporting and improving business processes, data processing, etc. For fee-based software, usually a unique terminal identification code is generated based on the hardware information of the device where the software is installed, and then the software is licensed for use.
[0003] When a user copies an operating system, since the terminal identification code of the installed software is retained in the copied operating system, the user can directly use the software in the copied operating system, and the problem that the software is illegally licensed for use cannot be effectively prevented. Summary of the Invention
[0004] The embodiments of this application provide a software licensing method, a software authorization method, a device, a medium, and a device. By comparing the current first physical information of the terminal device running the target software with the pre-stored second physical information, when it is determined that the comparison result matches, it is determined that the pre-stored terminal identification code corresponds to the current first physical information of the terminal device, and then authorization authentication is performed, avoiding directly using the pre-stored terminal identification code for authorization authentication and effectively preventing the software from being illegally used.
[0005] In a first aspect, the embodiments of this application provide a software licensing method, which is applied to a terminal device. The method includes:
[0006] When it is detected that the target software is started, obtain the current first physical information of the terminal device;
[0007] When the terminal identification code is pre-stored in the cache data of the target software, obtain the second physical information of the terminal device pre-stored in the cache data, where the terminal identification code is obtained based on the second physical information;
[0008] When the first physical information and the second physical information match, determine to send an authentication request carrying the terminal identification code to the server side of the target software, and when receiving the authentication result of passing the authorization sent by the server side, run the target software.
[0009] In a second aspect, the embodiments of this application provide a software authorization method, which is applied to the server side. The method includes:
[0010] Receive an authentication request carrying a terminal identification code sent by a terminal device;
[0011] When it is determined that there is identification information consistent with the terminal identification code in the permission registration information of the target software, and when it is determined that the terminal device is authorized, send the corresponding authentication result to the terminal device.
[0012] Thirdly, an embodiment of the present application provides a software authorization and usage device, including:
[0013] A first acquisition unit, configured to acquire the current first physical information of the terminal device when it is monitored that the target software is started;
[0014] A second acquisition unit, configured to acquire the second physical information of the terminal device pre-stored in the cache data when the terminal identification code is pre-stored in the cache data of the target software, where the terminal identification code is obtained based on the second physical information;
[0015] An operation unit, configured to determine to send an authentication request carrying the terminal identification code to the server side of the target software when the first physical information and the second physical information match, so as to run the target software when receiving the authentication result of being authorized sent by the server side.
[0016] Fourthly, an embodiment of the present application provides a software authorization device, including:
[0017] A receiving unit, configured to receive an authentication request carrying the terminal identification code sent by the terminal device;
[0018] A first sending unit, configured to send the corresponding authentication result to the terminal device when it is determined that there is identification information consistent with the terminal identification code in the permission registration information of the target software and when it is determined that the terminal device is authorized.
[0019] Fifthly, an embodiment of the present application provides a computer storage medium, where the computer storage medium stores multiple instructions, and the instructions are suitable for being loaded and executed by a processor to perform the steps of the above method.
[0020] Sixthly, an embodiment of the present application provides a terminal device, including: a processor and a memory; wherein, the memory stores a computer program, and the computer program is suitable for being loaded and executed by the processor to perform the steps of the above method.
[0021] In the embodiment of the present application, when sending the terminal identification code to the server side for authentication, it is necessary to first match the pre-stored second physical information and the current first physical information of the terminal device. When it is determined that the first physical information and the second physical information match, the terminal identification code is sent to the server side for authorization, which can effectively prevent the terminal device from copying the operating system that retains the cache data of the target software, and then using the authorized device identification code in the operating system to pass the authentication and illegally use the target software. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those skilled in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0023] Figure 1 It is a scenario diagram of a software authorization and usage method provided by an embodiment of the present application;
[0024] Figure 2 It is a schematic flowchart of a software authorization and usage method provided by an embodiment of the present application;
[0025] Figure 3 It is a schematic flowchart of a software authorization and usage method provided by an embodiment of the present application;
[0026] Figure 4 It is a schematic flowchart of a software authorization and usage method provided by an embodiment of the present application;
[0027] Figure 5 It is a schematic flowchart of a software authorization method provided by an embodiment of the present application;
[0028] Figure 6 It is a schematic structural diagram of a software authorization and usage device provided by an embodiment of the present application;
[0029] Figure 7 It is a schematic structural diagram of a software authorization and usage device provided by an embodiment of the present application;
[0030] Figure 8 It is a schematic structural diagram of a software authorization and usage device provided by an embodiment of the present application;
[0031] Figure 9 It is a schematic structural diagram of a software authorization device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0032] The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present application.
[0033] In the description of the present application, it should be understood that terms such as "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance. In the description of the present application, it should be noted that unless otherwise clearly specified and limited, "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally further include steps or units not listed, or may optionally further include other steps or units inherent to these processes, methods, products, or devices. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to specific circumstances. In addition, in the description of the present application, unless otherwise stated, "a plurality of" means two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.
[0034] In the related art, generally, based on the terminal identification code of the terminal device running the target software, the authorization for the terminal device to use the target software is authenticated. If there are multiple terminal devices that install an operating system (such as Windows 10 system, iOS system, etc.) that has authenticated the target software by copying. Since the device identification code that has passed the authentication of the target software is retained in the operating system, the terminal device that copies the operating system can directly pass the authorization according to the retained terminal identification code and run the target software, that is, multiple terminal devices use the same terminal identification code to authorize the use of the target software. Undoubtedly, there is a problem that the target software is illegally used in the authorization method based on the terminal identification code.
[0035] In the embodiment of the present application, when sending the terminal identification code to the server for authentication, it is necessary to first match the second physical information stored in advance with the current first physical information of the terminal device. When it is determined that the first physical information and the second physical information match, the terminal identification code is sent to the server for authorization, which can effectively prevent the terminal device from copying the operating system that retains the cached data of the target software, and then using the authorized device identification code in the operating system to pass the authentication and illegally use the target software.
[0036] Refer to Figure 1 , Figure 1 is a schematic diagram of a scenario of the embodiment of the present application.
[0037] In the embodiment of the present application, the terminal device that executes the software authorization use method may include, but is not limited to, devices such as personal computers, laptop computers, smart furniture, wearable devices, in-vehicle devices, etc.
[0038] Reference Figure 1 There can be multiple terminal devices. Among them, the operating systems of terminal devices B, C, and D are obtained by copying the operating system of terminal device A. When terminal devices A, B, C, and D start the target software, if the current first physical information of terminal device A matches the pre-stored second physical information, an authentication request is sent to the server side of the target software based on the pre-stored terminal identification code. When receiving the authenticated result of authorization sent by the server side, the target software is run. Among them, the home page of the target software can be displayed on the display interface of the terminal device. Since the second physical information stored in terminal devices B, C, and D does not match the currently obtained first physical information, terminal devices B, C, and D cannot send the pre-stored terminal identification code, that is, terminal devices B, C, and D cannot be authorized by the server side according to the pre-stored terminal identification code to run the target software.
[0039] In the embodiment of the present application, before using the pre-stored terminal identification code to authenticate the permission to use the target software, first, the currently obtained first physical information of the terminal device is matched with the pre-stored second physical information. If they match, it can be determined that the terminal identification code stored in the terminal device is the terminal identification code of the terminal device currently running the target software, and then this terminal identification code is sent to the server side for authorization. Before authentication, determining whether the terminal identification code is the terminal identification code of the current terminal device can prevent the terminal device from illegally using the target software by using the pre-stored terminal identification code.
[0040] Next, in combination with Figures 2 to 5 , the software authorization usage method provided by the embodiment of the present application will be introduced in detail.
[0041] Please refer to Figure 2 , which is a schematic flowchart of a software authorization usage method provided by the embodiment of the present application. As Figure 2 shown, the software authorization usage method may include the following steps S101 to step S103.
[0042] S101, when it is detected that the target software is started, obtain the current first physical information of the terminal device;
[0043] When the terminal device detects an interaction action to start the target software, it obtains the current first physical information of the terminal device.
[0044] The target software can be software that can be used only after the terminal device is authenticated. It can be used in an enterprise environment or where user access permissions need to be controlled. For example, the target software can be database management software, enterprise internal communication software.
[0045] The target software is installed in the terminal device and can display an icon of the target software on the display interface of the terminal device. When a click operation is detected based on the icon, the target software is launched, and then the current first physical information of the terminal device is obtained.
[0046] The first physical information may be the hardware information of the terminal device. The terminal device can obtain the first physical information by calling the corresponding interface program. For example, the terminal device obtains the first physical information through a program written in programming languages (such as C++, Python).
[0047] S102, when the terminal identification code is pre-stored in the cache data of the target software, obtain the second physical information of the terminal device pre-stored in the cache data, where the terminal identification code is obtained based on the second physical information;
[0048] The terminal device determines whether the terminal identification code is pre-stored in the cache data of the target software. The terminal identification code can be an identification code that distinguishes the terminal device from other terminal devices and has uniqueness.
[0049] The cache data of the target software can be the data stored in the default storage location when the target software is installed, or the data stored in the user-defined storage location.
[0050] Optionally, the terminal device can read the cache data in the storage location of the target software by calling the corresponding interface program.
[0051] Furthermore, when the terminal device determines that there is a terminal identification code in the cache data, it then obtains the second physical information of the terminal device, and the terminal identification code stored in the cache data is obtained based on the second physical information.
[0052] The pre-stored second physical information of the terminal device may include the following three situations: First, when there is no replacement of the hardware device and the operating system after the terminal device last ran the target software, the first physical information currently obtained by the terminal device is the same as the pre-stored second physical information of the terminal device; when there is a replacement of the operating system on the terminal device and there is cache data of other terminal devices running the target software in the replaced operating system, then when the terminal device copies the operating system and starts the target software carried by the operating system, the physical information of other terminal devices is used as the pre-stored second physical information, and the first physical information currently obtained by the terminal device is different from the pre-stored second physical information of the terminal device; another situation is that after the terminal device last ran the target software, there is a replacement of the hardware device (such as replacing external devices, processors, disks, etc.), then the first physical information currently obtained by the terminal device is different from the pre-stored second physical information.
[0053] S103. When the first physical information and the second physical information match, determine to send an authentication request carrying the terminal identification code to the server side of the target software, so as to run the target software when receiving the authorized authentication result sent by the server side.
[0054] The terminal device matches the obtained first physical information and second physical information. When it is determined that the first physical information and the second physical information match, an authentication request carrying the terminal identification code is sent to the server side of the target software, so as to inform the server to determine whether to authorize the terminal device to use the target software based on the terminal identification code.
[0055] Optionally, in this embodiment, after receiving the terminal identification code, the server side can determine whether the terminal device is authorized by determining the number of terminal devices currently using the target software. For example, if Company A purchases the usage rights for 100 device terminals to use the target software online at the same time from the operator of the target software, the server side is configured by the operator to run the target software specifically for Company A. When the terminal device within Company A sends an authentication request carrying the terminal identification code to the server side, the server side determines the number of terminal devices within Company A using the target software at the current moment according to the received terminal identification code. When it is determined that the number is less than or equal to 100, an authorized authentication result is sent to the terminal device; when it is determined that the number is greater than 100, an unauthorized authentication result is sent to the terminal device.
[0056] Optionally, in this embodiment, after receiving the terminal identification code, the server side can further determine whether the terminal identification code meets the requirements through a preset verification rule. It can be understood that when the server side authorizes the terminal device according to the method of determining whether the terminal identification code meets the requirements through the preset verification rule, the terminal identification code generated based on the second physical information in the terminal device also needs to meet the verification rule. For example, the verification rule can be: when generating the terminal identification code according to the second physical information, the terminal device adds the first character of the terminal identification code at the end of the terminal identification code to generate the terminal identification code. Thus, after the server side receives the terminal identification code sent by the terminal device and detects that the terminal identification code conforms to the verification rule, it further determines the number of terminal devices currently using the target software according to the received terminal identification code. If the number of terminal devices is less than the preset number, it is determined to be authorized; otherwise, an unauthorized authorization result is sent to the terminal device. By verifying the received terminal identification code through the preset verification rule, it is avoided that other terminal devices log in and use the target software, improving the security of using the target software.
[0057] In an embodiment of the present application, before authenticating the permission to use the target software by using the pre-stored terminal identification code, first, the first physical information currently obtained by the terminal device is matched with the pre-stored second physical information. If they match, it can be determined that the terminal identification code stored in the terminal device is the terminal identification code of the terminal device currently running the target software, and then the terminal identification code is sent to the server for authorization. Before authentication, determining whether the terminal identification code is the terminal identification code of the current terminal device can prevent the terminal device from illegally using the target software by using the pre-stored terminal identification code.
[0058] Please refer to Figure 3 , Figure 3 which is a schematic flowchart of a software authorization and usage method provided by an embodiment of the present application. As Figure 3 shown, the software authorization and usage method may include the following steps S201 to S208.
[0059] S201, when it is detected that the target software is started, obtain the current first physical information of the terminal device;
[0060] When the terminal device detects a click operation on the icon of the target software, it obtains the current first physical information.
[0061] The target software is installed in the terminal device, and the icon of the target software can be displayed on the display interface of the terminal device. When a click operation is detected based on the icon, the target software is started, and then the current first physical information of the terminal device is obtained.
[0062] The first physical information may be the hardware information of the terminal device. The terminal device can obtain the first physical information by calling the corresponding interface program. For example, the terminal device obtains the first physical information through a program written in programming languages (C++, Python).
[0063] After the terminal device obtains the current first physical information, it reads the cache data of the target software and determines whether there is a terminal identification code in the cache data. If there is no terminal identification code, steps S202 to S203 are executed. If there is a terminal identification code, steps S204 to S208 are executed.
[0064] Step S202, when the terminal identification code of the target software is not stored in the cache data of the target software, determine the terminal identification code of the target software according to the first physical information;
[0065] When the terminal device determines that there is no terminal identification code in the cache data of the target software, it determines that the terminal device starts the target software for the first time and needs to calculate the terminal identification code of the terminal device according to the current first physical information of the terminal device.
[0066] In this embodiment, the first physical information includes a first network device identifier, a first processor identifier, and a first disk sequence identifier.
[0067] Optionally, when the terminal device obtains the terminal identification code according to the first physical information, it may sequentially combine the strings corresponding to the first network device identifier, the second processor identifier, and the first disk sequence identifier to form a target string, and then convert the target string into a binary byte sequence, and obtain the terminal identification code based on the binary byte sequence. Among them, the binary byte sequence can be padded so that the length of the padded binary byte sequence is exactly 512 bits or 1024 bits. Then, the target binary byte sequence is divided according to the number of buffers to obtain a plurality of binary byte sequence blocks. Update the initial variables in each buffer based on the plurality of binary byte sequence blocks, and finally obtain the terminal identification code.
[0068] For example, when the strings corresponding to the first network device identifier, the first processor identifier, and the first disk sequence identifier are "WL35", "MD12", and "YT9" respectively, the target string formed is "WL35MD12YT9", and the terminal identification code is 906de444a7f403e74564b3fc6b8c8f4e.
[0069] In the embodiments of the present application, obtaining the terminal identification code according to the first network device identifier, the first processor identifier, and the first disk sequence identifier, and determining the terminal identification code through multiple hardware identifiers of the terminal device improves the reliability of the obtained terminal identification code.
[0070] Optionally, when the terminal device calculates the terminal identification code according to the first physical information, it may sequentially convert each character included in the first network device identifier, the first processor identifier, and the first disk sequence identifier into a binary byte sequence to obtain a plurality of binary byte sequences, and then perform binary operations on the plurality of binary byte sequences to obtain the terminal identification code. Binary operations include logical operations, AND operations, and OR operations.
[0071] For example, if the first network device identifier is "WL35", the first processor identifier is "MD12", and the first disk sequence identifier is "YT9", the binary byte sequences converted from them are: 01010111010011000011001100110101, 01001101010001000011000100110010, 010110010101010000111001. The decimal terminal identification code obtained by performing an AND operation on them is 1178884. Among them, when performing an AND operation, for binary byte sequences with different lengths, binary 0 is filled in front of them.
[0072] Step S203: Store the terminal identification code into the cached data of the target software, and send an authentication request carrying the terminal identification code to the server side of the target software.
[0073] After obtaining the terminal identification code, the terminal device stores the terminal identification code in the cached data of the target software and sends an authentication request carrying the terminal identification code to the server side, so as to run the target software when receiving the authenticated authentication result sent by the server side.
[0074] Optionally, the cached data of the target software can be located in the default installation path when installing the target software, or in the path selected by the user when installing the target software.
[0075] It can be understood that after the terminal device calculates the terminal identification code based on the currently obtained first physical information, the terminal identification code is stored in the cached data of the target software, and the current first physical information is also stored in the cached data of the target software. Thus, when the terminal device starts the target software again, when the first physical information and the second physical information match, the pre-stored terminal identification code can be directly sent to the server side without recalculating the terminal identification code.
[0076] In the embodiment of the present application, when the terminal device does not have a terminal identification code, the terminal identification code is calculated based on the first physical information, and an authentication request carrying the calculated terminal identification code is sent to the server side for authorization, realizing the operation of the target software when the terminal device does not have a terminal identification code.
[0077] S204: When the terminal identification code is pre-stored in the cached data of the target software, obtain the second physical information of the terminal device pre-stored in the cached data, where the terminal identification code is obtained based on the second physical information;
[0078] The second physical information of the pre-stored terminal device may include the following three cases: First, when there is no replacement of the hardware device and the operating system after the terminal device last ran the target software, the first physical information currently obtained by the terminal device is the same as the second physical information of the pre-stored terminal device; when there is a replacement of the operating system in the terminal device and there is cached data of other terminal devices running the target software in the replaced operating system, when the terminal device copies the operating system and starts the target software carried by the operating system, the physical information of other terminal devices is used as the pre-stored second physical information, and the first physical information currently obtained by the terminal device is different from the second physical information of the pre-stored terminal device; another case is that after the terminal device last ran the target software, there is a situation of replacing the hardware device (for example, replacing external devices, processors, disks, etc.), and the first physical information currently obtained by the terminal device is different from the pre-stored second physical information.
[0079] Optionally, in this embodiment, the first physical information of the terminal device includes a first network device identifier, a first processor identifier, and a first disk serial identifier, and the second physical information stored in the cached data includes a second network device identifier, a second processor identifier, and a second disk serial identifier.
[0080] S205. Compare the first network device identifier and the second network device identifier to obtain a first comparison result;
[0081] S206. Compare the first processor identifier and the second processor identifier to obtain a second comparison result;
[0082] S207. Compare the first disk serial identifier and the second disk serial identifier to obtain a third comparison result;
[0083] S208. Determine the matching result of the first physical information and the second physical information according to the first comparison result, the second comparison result, and the third comparison result;
[0084] After the terminal device obtains the first physical information and the second physical information stored in the cached data, it compares the first physical information and the second physical information.
[0085] Specifically, the terminal device compares the first network device identifier and the second network device identifier to determine whether the first network device identifier and the second network device identifier are the same identifier, and obtains a first comparison result; compares the first processor identifier and the second processor identifier to determine whether the first processor identifier and the second processor identifier are the same identifier, and obtains a second comparison result; compares the first disk serial identifier and the second disk serial identifier to determine whether the first disk serial identifier and the second disk serial identifier are the same identifier, and obtains a third comparison result.
[0086] Among them, during the comparison of various physical information, the identifiers corresponding to the physical information can be compared one by one from left to right.
[0087] In the embodiment of the present application, by comparing each piece of information included in the first physical information and the second physical information one by one, the accuracy of determining whether the first physical information and the second physical information match is improved.
[0088] Optionally, in this embodiment, when it is determined that the first comparison result, the second comparison result, and the third comparison result are completely consistent, it is determined that the first physical information and the second physical information match.
[0089] Optionally, in this embodiment, after obtaining the first comparison result, the second comparison result, and the third comparison result, when any two comparison results are consistent, it is determined that the first physical information and the second physical information match; if any two comparison results are inconsistent, it is determined that the first physical information and the second physical information do not match.
[0090] It can be understood that there is a situation where the terminal device replaces the hardware. Therefore, in this embodiment, when any two of the comparison results of the first physical information and the second physical information are consistent, it is determined that the first physical information and the second physical information match, which can use the terminal identification code in the cache data for authentication when a certain hardware of the terminal device is replaced, without frequently calculating the terminal identification code of the terminal device.
[0091] For example, when it is determined that the first comparison result is consistent and the third comparison result is consistent, it is determined that the first physical information and the second physical information match; when it is determined that the first comparison result is inconsistent and the second comparison result is inconsistent, it is determined that the first physical information and the second physical information do not match.
[0092] Optionally, in this embodiment, when the first physical information and the second physical information match, it is determined to send an authentication request carrying the terminal identification code to the server side of the target software, so as to run the target software when receiving the authenticated authentication result sent by the server side; when the first physical information and the second physical information do not match, the terminal identification code of the target software is determined according to the first physical information, and an authentication request carrying the terminal identification code is sent to the server side of the target software.
[0093] When the first physical information and the second physical information do not match, the terminal device determines the terminal identification code of the target software according to the first physical information, sends an authentication request carrying the target terminal identification to the server side of the target software, and runs the target software when receiving the authenticated authentication result sent by the server side.
[0094] When the first physical information and the second physical information match, the terminal device sends an authentication request carrying the terminal identification code to the server side of the target software, and runs the target software when receiving the authenticated authentication result sent by the server side.
[0095] In the case where the first physical information of the terminal device does not match the pre-cached second physical information, the terminal device may send an authentication request carrying the terminal identification code currently obtained according to the first physical information to the server side, ensuring that the terminal device can still send an authentication to the server when the first physical information and the second physical information do not match.
[0096] In this embodiment, when it is detected that the target software is started and the current first physical information of the terminal device running the target software is obtained, when the terminal identification code in the cache data of the target software is obtained, the second physical information in the cache data is obtained, and then the first physical information and the second physical information are matched. If the match passes, the cached terminal identification code is sent to the server side for authentication, and there is no need to recalculate the terminal identification code; if the match fails, or when there is no terminal identification code in the cache data of the target software, the terminal identification code is calculated according to the obtained first physical information and sent to the server side for authorization, which can identify the copied terminal identification code, and then recalculate the terminal identification code of the current terminal device for authorization, which can effectively prevent the software from being illegally used.
[0097] Refer to Figure 4 , Figure 4 is a schematic flowchart of the software authorization method of the present application. As Figure 4 shown, the software authorization method may include the following steps S01 to step S06.
[0098] S01, start the enterprise browser, and obtain the first physical information of the terminal device running the enterprise browser;
[0099] When the terminal device detects a click operation on the icon of the enterprise browser, it starts the enterprise browser and obtains the first physical information of the terminal device currently running the enterprise browser.
[0100] S02, determine whether there is a terminal identification code in the cache data of the enterprise browser;
[0101] The terminal device reads the content information pre-stored in the cache data of the enterprise browser to determine whether the terminal identification code is pre-stored in the cache data of the enterprise browser.
[0102] S03, when it is determined that there is no terminal identification code in the cache data, obtain the terminal identification code according to the first physical information;
[0103] S04. When it is determined that the terminal identification code is stored in the cached data, obtain the second physical information pre-stored in the cached data, and determine whether the first physical information and the second physical information match;
[0104] When the terminal device determines that there is a terminal identification code in the cached data, further obtain the second physical information pre-stored in the cached data, and compare the second physical information with the first physical information.
[0105] Optionally, when the first physical information and the second physical information include multiple items of physical information, compare the first physical information and the second physical information item by item, and determine whether the first physical information and the second physical information match according to the comparison result of each item obtained.
[0106] S05. When it is determined that the first physical information and the second physical information match, send the pre-cached terminal identification code to the server side corresponding to the target software, and authenticate the terminal device through the server side;
[0107] When the terminal device determines that the first physical information and the second physical information match, and determines that the pre-cached terminal identification code is the identification code of the current terminal device, then send an authentication request carrying the cached terminal identification code to the server side without the need to calculate the terminal identification code.
[0108] After receiving the authentication request of the terminal device, the server side determines whether to authorize the terminal device according to the terminal identification code carried in the authentication request.
[0109] S06. When it is determined that the first physical information and the second physical information do not match, obtain the terminal identification code according to the first physical information, send the terminal identification code to the server side corresponding to the target software, and authenticate the terminal device through the server side.
[0110] When the terminal device determines that the first physical information and the second physical information do not match, and determines that the pre-cached terminal identification code is not the identification code of the current terminal device, then determine the terminal identification code according to the current first physical information of the terminal device, update the terminal identification code in the cached data of the target software, and replace the pre-stored second physical information with the current first physical information. And send an authentication request of the terminal identification code confirmed according to the first physical information to the server side without the need to calculate the terminal identification code.
[0111] After receiving the authentication request of the terminal device, the server side determines whether to authorize the terminal device according to the terminal identification code carried in the authentication request.
[0112] In an embodiment of the present application, before authenticating the permission to use the target software using the pre-stored terminal identification code, first, by matching the first physical information currently obtained by the terminal device with the pre-stored second physical information, if they match, it can be determined that the terminal identification code stored in the terminal device is the terminal identification code of the terminal device currently running the target software, and then send the terminal identification code to the server for authorization. Before authentication, determining whether the terminal identification code is the terminal identification code of the current terminal device can prevent the terminal device from illegally using the target software by using the pre-stored terminal identification code.
[0113] Refer to Figure 5 , Figure 5 which is a schematic flowchart of the software authorization method of the present application. As Figure 5 shown, the software authorization method may include the following steps S501 to step S502.
[0114] S501, receiving an authentication request carried with a terminal identification code sent by a terminal device;
[0115] S502, when it is determined that there is identification information consistent with the terminal identification code in the permission registration information of the target software, when it is determined that the terminal device passes the authorization, sending a corresponding authentication result to the terminal device.
[0116] The permission registration information may be a set of terminal identification codes carried in the received authentication request recorded on the server side.
[0117] When the server side receives an authentication request carried with a terminal identification code sent by a terminal device, it obtains the permission registration information of the current target software. If there is identification information consistent with the terminal identification code in the permission registration information, it is determined that the terminal device has been authorized, and directly sends an authentication result of passing the authorization to the terminal device, so that the terminal device can run the target software after receiving the authentication result.
[0118] Optionally, in this embodiment, when it is determined that there is no identification information in the permission registration information that is consistent with the received terminal identification code, it is determined that the terminal device is authorized for the first time. Then, obtain the number of terminal identification codes currently registered in the permission registration information, determine the number of terminal devices that have been authorized to use the target software based on the number of terminal identification codes. When it is determined that the number is less than or equal to the preset number threshold, it is determined that the terminal device can still be authorized to use the target software. Then, send the authentication result of passing the authorization to the terminal device and register the terminal identification code in the permission registration information. After receiving the authentication request sent by the terminal device carrying the terminal identification code again, when it is determined that there is identification information in the permission registration information that is consistent with the terminal identification code, directly send the authentication result of passing the authorization to the terminal device; when it is determined that the number is greater than the preset number threshold, it is determined that the number of terminal devices registered to use the target software has exceeded the preset number threshold, and the number of terminal devices that need to repurchase the target software is required for the terminal device to use the target software.
[0119] In the embodiment of the present application, when there is no identification information in the permission registration information that is consistent with the received terminal identification code, the server determines whether to pass the authorization authentication of the terminal device according to the preset number threshold, realizing the control of the number of terminal devices logging in to the target software.
[0120] In the embodiment of the present application, when the server receives the authentication request sent by the terminal device, by comparing the terminal identification code carried in the authentication request with the identification information in the permission registration information, when the comparison is successful, send the authentication result of passing the authorization to the terminal device, realizing the permission management of the terminal device using the target software.
[0121] Please refer to Figure 6 , which provides a schematic structural diagram of a software authorization and usage device for the embodiment of the present application. As Figure 6 shown, the software authorization and usage device 1 of the embodiment of the present application may include: a first acquisition unit 01, a second acquisition unit 02, and an operation unit 03.
[0122] The first acquisition unit 01 is used to obtain the current first physical information of the terminal device when it is monitored that the target software is started;
[0123] The second acquisition unit 02 is used to obtain the second physical information of the terminal device pre-stored in the cache data when the terminal identification code is pre-stored in the cache data of the target software, where the terminal identification code is obtained based on the second physical information;
[0124] An operation unit 03 is configured to determine, when the first physical information and the second physical information match, to send an authentication request carrying the terminal identification code to the server side of the target software, so as to run the target software when receiving an authenticated authentication result sent by the server side.
[0125] In the embodiment of the present application, before authenticating the permission to use the target software by using the pre-stored terminal identification code, first, the first physical information currently obtained by the terminal device is matched with the pre-stored second physical information. If they match, it can be determined that the terminal identification code stored in the terminal device is the terminal identification code of the terminal device currently running the target software, and then the terminal identification code is sent to the server side for authorization. Before authentication, determining whether the terminal identification code is the terminal identification code of the current terminal device can prevent the terminal device from illegally using the target software by using the pre-stored terminal identification code.
[0126] Please refer to Figure 7 , which is a schematic structural diagram of a software authorization and usage device provided by an embodiment of the present application. As Figure 7 shown, in a possible implementation manner, the device further includes: a first determination unit 04, a second determination unit 05, a storage unit 06, a first comparison unit 07, a second comparison unit 08, a third comparison unit 09, and a comparison result determination unit 10.
[0127] The first determination unit 04 is configured to, when the first physical information and the second physical information do not match, determine the terminal identification code of the target software according to the first physical information, and send an authentication request carrying the terminal identification code to the server side of the target software.
[0128] The second determination unit 05 is configured to determine the terminal identification code of the target software according to the first physical information when the terminal identification code of the target software is not stored in the cache data of the target software;
[0129] The storage unit 06 is configured to store the terminal identification code into the cache data of the target software.
[0130] In a possible implementation manner, the first physical information includes a first network device identifier, a first processor identifier, and a first disk serial identifier, and the second physical information includes a second network device identifier, a second processor identifier, and a second disk serial identifier.
[0131] In a possible implementation, the first determination unit is configured to sequentially combine the strings corresponding to the first network device identifier, the first processor identifier, and the first disk sequence identifier to form a target string; convert each character included in the target string into a corresponding binary byte to obtain a binary byte sequence of the target string; and obtain a terminal identification code of the target software based on the binary byte sequence.
[0132] The first comparison unit 07 is configured to compare the first network device identifier with the second network device identifier to obtain a first comparison result.
[0133] The second comparison unit 08 is configured to compare the first processor identifier with the second processor identifier to obtain a second comparison result.
[0134] The third comparison unit 09 is configured to compare the first disk sequence identifier with the second disk sequence identifier to obtain a third comparison result.
[0135] The comparison result determination unit 10 is configured to determine a matching result between the first physical information and the second physical information according to the first comparison result, the second comparison result, and the third comparison result.
[0136] In a possible implementation, the result determination unit is configured to determine that the first physical information and the second physical information match when any two of the first comparison result, the second comparison result, and the third comparison result are determined to be in agreement; and determine that the first physical information and the second physical information do not match when any two of the first comparison result, the second comparison result, and the third comparison result are determined to be inconsistent.
[0137] In this embodiment, when it is detected that the target software is started and the current first physical information of the terminal device running the target software is obtained, and when the terminal identification code in the cache data of the target software is obtained, the second physical information in the cache data is obtained, and then the first physical information and the second physical information are matched. If the matching passes, the cached terminal identification code is sent to the server for authentication, and there is no need to recalculate the terminal identification code; if the matching fails, or if there is no terminal identification code in the cache data of the target software, the terminal identification code is calculated based on the obtained first physical information and sent to the server for authorization, which can identify the copied terminal identification code, and then recalculate the terminal identification code of the current terminal device for authorization, which can effectively prevent the software from being illegally used.
[0138] Please refer to Figure 8 , a structural schematic diagram of a software authorization device is provided for an embodiment of the present application. AsFigure 8 As shown in the figure, the software authorization device 2 according to an embodiment of the present application may include: a receiving unit 21, a first sending unit 22, a first determining unit 23, a second sending unit 24, and a registration unit 25.
[0139] The receiving unit 21 is configured to receive an authentication request carrying a terminal identification code sent by a terminal device;
[0140] The first sending unit 22 is configured to send a corresponding authentication result to the terminal device when it is determined that the terminal device passes the authorization when there is identification information consistent with the terminal identification code in the permission registration information of the target software.
[0141] The first determining unit 23 is configured to determine the number of identification information in the permission registration information when there is no identification information consistent with the terminal identification code in the permission registration information of the target software;
[0142] The second sending unit 24 is configured to determine that the terminal device passes the authorization when the number is less than or equal to a preset number threshold, and send a corresponding authentication result to the terminal device;
[0143] The registration unit 25 registers the terminal identification code in the permission registration information.
[0144] In an embodiment of the present application, before using the pre-stored terminal identification code to authenticate the permission to use the target software, first, by matching the first physical information currently obtained by the terminal device with the pre-stored second physical information, if they match, it can be determined that the terminal identification code stored in the terminal device is the terminal identification code of the terminal device currently running the target software, and then send the terminal identification code to the server for authorization. Before authentication, determining whether the terminal identification code is the terminal identification code of the current terminal device can prevent the terminal device from illegally using the target software by using the pre-stored terminal identification code.
[0145] An embodiment of the present application further provides a computer storage medium, which may store multiple program instructions, and the program instructions are suitable for being loaded and executed by a processor to perform the method steps of the above Figures 1 to 5 shown embodiment. The specific execution process may refer to the Figures 1 to 5 specific description of the shown embodiment, which will not be elaborated here.
[0146] Please refer to Figure 9 , which is a schematic structural diagram of a terminal device provided by an embodiment of the present application. As Figure 9As shown in the figure, the terminal device 1000 may include: at least one processor 1001, such as a CPU, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. The memory 1005 may optionally also be at least one storage device located far from the aforementioned processor 1001. As Figure 9 shown, the memory 1005, as a computer storage medium, may include an operating system, a network communication module, an input / output interface module, and a software license program.
[0147] In Figure 9 the terminal device 1000 shown in the figure, the user interface 1003 is mainly used to provide an input interface for the user and obtain the data input by the user.
[0148] In one embodiment, the processor 1001 may be used to call the software license program stored in the memory 1005 and specifically perform the following operations:
[0149] When it is monitored that the target software is started, obtain the current first physical information of the terminal device;
[0150] When the terminal identification code is pre-stored in the cache data of the target software, obtain the second physical information of the terminal device pre-stored in the cache data, where the terminal identification code is obtained based on the second physical information;
[0151] When the first physical information and the second physical information match, determine to send an authentication request carrying the terminal identification code to the server side of the target software, so as to run the target software when receiving the authorized authentication result sent by the server side.
[0152] In one embodiment, after the processor 1001 executes to obtain the second physical information of the terminal device pre-stored in the cache data, it also executes: when the first physical information and the second physical information do not match, determine the terminal identification code of the target software according to the first physical information, and send an authentication request carrying the terminal identification code to the server side of the target software.
[0153] In one embodiment, before the processor 1001 executes sending an authentication request carrying the terminal identification code to the server side of the target software, it also executes: when the terminal identification code of the target software is not stored in the cache data of the target software, determining the terminal identification code of the target software according to the first physical information; storing the terminal identification code into the cache data of the target software.
[0154] Wherein, the first physical information includes a first network device identifier, a first processor identifier, and a first disk serial identifier, and the second physical information includes a second network device identifier, a second processor identifier, and a second disk serial identifier.
[0155] In one embodiment, when the processor 1001 executes determining the terminal identification code of the target software according to the first physical information, it specifically executes: sequentially combining the strings corresponding to the first network device identifier, the first processor identifier, and the first disk serial identifier to form a target string; converting each character included in the target string into a corresponding binary byte to obtain a binary byte sequence of the target string; obtaining the terminal identification code of the target software based on the binary byte sequence.
[0156] In one embodiment, after the processor 1001 executes obtaining the second physical information of the terminal device pre-stored in the cache data, it also executes: comparing the first network device identifier and the second network device identifier to obtain a first comparison result; comparing the first processor identifier and the second processor identifier to obtain a second comparison result; comparing the first disk serial identifier and the second disk serial identifier to obtain a third comparison result; determining a matching result of the first physical information and the second physical information according to the first comparison result, the second comparison result, and the third comparison result.
[0157] In one embodiment, when the processor 1001 executes determining the matching result of the first physical information and the second physical information according to the first comparison result, the second comparison result, and the third comparison result, it specifically executes: when it is determined that any two of the first comparison result, the second comparison result, and the third comparison result are in consistent comparison, determining that the first physical information and the second physical information match; when it is determined that any two of the first comparison result, the second comparison result, and the third comparison result are in inconsistent comparison, determining that the first physical information and the second physical information do not match.
[0158] In the embodiment of the present application, before using the pre-stored terminal identification code to authenticate the permission to use the target software, first, the first physical information currently obtained by the terminal device is matched with the pre-stored second physical information. If they match, it can be determined that the terminal identification code stored in the terminal device is the terminal identification code of the terminal device currently running the target software, and then the terminal identification code is sent to the server for authorization. Before authentication, determining whether the terminal identification code is the terminal identification code of the current terminal device can prevent the terminal device from illegally using the target software by using the pre-stored terminal identification code.
[0159] Those of ordinary skill in the art can understand that all or part of the processes in the above-described embodiment methods can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above-described method embodiments. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.
[0160] The above-disclosed content is only the preferred embodiment of the present application. Of course, it cannot be used to limit the scope of the rights of the present application. Therefore, equivalent changes made according to the claims of the present application still fall within the scope covered by the present application.
Claims
1. A software licensing method, characterized in that, applied to a terminal device, the method includes: When it is detected that the target software is started, obtain the current first physical information of the terminal device; When a terminal identification code is pre-stored in the cache data of the target software, obtain the second physical information of the terminal device pre-stored in the cache data, where the terminal identification code is obtained based on the second physical information; When the first physical information and the second physical information match, determine to send an authentication request carrying the terminal identification code to the server side of the target software, so as to run the target software when receiving an authenticated authentication result sent by the server side.
2. The method according to claim 1, characterized in that, After obtaining the second physical information of the terminal device pre-stored in the cache data, the method further includes: When the first physical information and the second physical information do not match, determine the terminal identification code of the target software according to the first physical information, and send an authentication request carrying the terminal identification code to the server side of the target software.
3. The method according to claim 1, characterized in that, Before determining to send an authentication request carrying the terminal identification code to the server side of the target software, the method further includes: When the terminal identification code of the target software is not stored in the cache data of the target software, determine the terminal identification code of the target software according to the first physical information; Store the terminal identification code in the cache data of the target software.
4. The method according to claim 2, characterized in that, The first physical information includes a first network device identifier, a first processor identifier, and a first disk serial number identifier, and the second physical information includes a second network device identifier, a second processor identifier, and a second disk serial number identifier.
5. A software authorization method, characterized in that, applied to the server side, the method includes: Receive an authentication request carrying a terminal identification code sent by a terminal device; When it is determined that there is identification information consistent with the terminal identification code in the permission registration information of the target software, determine that the terminal device is authorized, and send a corresponding authentication result to the terminal device.
6. The method according to claim 5, characterized in that, After receiving the authentication request carrying the terminal identification code sent by the terminal device, the method further includes: When there is no identification information consistent with the terminal identification code in the permission registration information of the target software, determine the number of identification information in the permission registration information; When the number is less than or equal to a preset number threshold, determine that the terminal device is authorized, and send a corresponding authentication result to the terminal device; Register the terminal identification code in the permission registration information.
7. A software licensing device, characterized in that, includes: A first acquisition unit, configured to obtain the current first physical information of the terminal device when it is detected that the target software is started; A second acquisition unit, configured to acquire second physical information of a terminal device pre-stored in the cache data of the target software when the terminal identification code is pre-stored in the cache data of the target software, where the terminal identification code is obtained based on the second physical information; An operation unit, configured to determine to send an authentication request carrying the terminal identification code to a server side of the target software when the first physical information matches the second physical information, and to operate the target software when receiving an authenticated authentication result sent by the server side.
8. A software authorization device, Characterized in that, It includes: A receiving unit, configured to receive an authentication request carrying a terminal identification code sent by a terminal device; A first sending unit, configured to send a corresponding authentication result to the terminal device when it is determined that the terminal device is authorized by determining that there is identification information consistent with the terminal identification code in the permission registration information of the target software.
9. A computer storage medium, Characterized in that, The computer storage medium stores multiple instructions, and the instructions are suitable for being loaded and executed by a processor to perform the steps of the method according to any one of claims 1 to 6.
10. A terminal device, Characterized in that, It includes: A processor and a memory; wherein, the memory stores a computer program, and the computer program is suitable for being loaded and executed by the processor to perform the steps of the method according to any one of claims 1 to 6.