Encryption activation method, system and equipment of software and medium

By generating registration files of random activation codes and combining encryption technology, the problem of difficulty in taking into account low cost, easy activation and anti-cracking in the existing technology is solved, and the security and legality of software activation are achieved.

CN119691709APending Publication Date: 2025-03-25SHANGHAI YANRUI INFORMATION TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411695468.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

The existing encryption activation technology is difficult to achieve the best balance between low cost, easy activation and anti-cracking, and cannot effectively take into account the needs of these three aspects.

Method used

By generating a registration file containing the randomly generated original activation code and writing it to the registry, combining the encryption and decryption process, using XOR operation to generate and verify the activation code, ensuring that only legitimate users can complete the software activation through the correct activation code.

Benefits of technology

It realizes the low-cost, easy-to-activate and high-proof cracking capabilities of software activation, ensuring that the software can only be used within the scope of authorization, and improving the security and anti-counterfeiting capabilities of the software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119691709A_ABST
    Figure CN119691709A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of software activation, and discloses a software encryption activation method, system and device and a medium, which are applied to user equipment, and the method comprises the following steps: generating a registration file of target software in response to an activation instruction performed by a user on the target software; wherein the registration file comprises a randomly generated original activation code; writing the original activation code into a registry; in response to an encryption code generated by encrypting the original activation code in the registration file by the management equipment, decrypting the encryption code to generate a reduction activation code; and comparing the reduction activation code with the original activation code in the registry, and activating the target software based on a comparison result. The method has the advantages of being low in cost, easy to activate and anti-cracking at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of software activation, and in particular to a method, system, device and medium for encrypting and activating software. Background Art

[0002] With the continuous expansion of software development scale and the continuous increase in development costs, how to effectively protect the rights and interests of software developers has become a pressing issue in the industry. Existing encryption solutions such as dongle licensing technology require additional hardware support, which not only increases the encryption cost of customers, but also increases the risk of hardware failure. Secondly, although online activation encryption technology does not require hardware support, it requires a continuous Internet connection, which has high requirements for the network environment and the activation process is relatively cumbersome. Finally, although fixed password encryption technology is simple, once the password is fixed and simple, it is easy to be cracked, and the flexibility of changing the password is poor, and it cannot effectively deal with potential cracking risks.

[0003] Therefore, it is difficult for existing technical solutions to achieve the best balance among low cost, easy activation and anti-cracking. There is an urgent need for a new encryption activation technology that can overcome the limitations of existing solutions while taking into account the needs of all aspects. Summary of the invention

[0004] The present application provides a method, system, device and medium for encrypting and activating software, which solves the technical problem of being unable to take into account low cost, easy activation and anti-cracking at the same time, and achieves the technical effect of taking into account low cost, easy activation and anti-cracking at the same time.

[0005] In order to achieve the above objectives, the main technical solutions adopted in this application include: In a first aspect, an embodiment of the present application provides a method for encrypting and activating software, which is applied to a user device, and the method comprises: generating a registration file of the target software in response to an activation instruction issued by a user in the target software; wherein the registration file comprises an original activation code generated randomly; Writing the original activation code into the registry; In response to the management device encrypting the original activation code in the registration file to generate an encryption code, decrypting the encryption code to generate a restoration activation code; The restored activation code is compared with the original activation code in the registry, and the target software is activated based on the comparison result.

[0006] The present embodiment provides a method for encrypting and activating software, which is applied to a user device and provides a unique and unpredictable activation code for each user by generating a registration file containing a random activation code, which prevents the reuse or misappropriation of the activation code to a certain extent. The original activation code is written into the registry to ensure the persistence of the activation code and facilitate the subsequent verification of the user device. Then, the security of the activation process is further enhanced through the encryption and decryption process, ensuring that the transmission and storage of the activation code are not susceptible to external tampering. Finally, by comparing the restored activation code with the original activation code in the registry, it is ensured that only legitimate users can complete the software activation with the correct activation code, thereby effectively ensuring the legal use of the software and preventing unauthorized use. The overall process combines encryption technology with registry verification to improve the security and anti-counterfeiting capabilities of software activation and ensure that the software can only be used within the authorized scope.

[0007] Optionally, decrypting the encryption code to generate a restoration activation code includes: An XOR operation is performed on each character in the encryption code and the character at the corresponding position in the preset key to generate the restoration activation code.

[0008] This embodiment can effectively implement the decryption operation of the encryption code by performing an XOR operation on each character in the encryption code and the character in the corresponding position in the preset key. The XOR operation has its unique security and simplicity: due to the reversibility of the XOR operation, when the key used for encryption is XORed with the encrypted data, the original data can be restored by using the same key again for the XOR operation. In this process, the preset key is the key to decryption, ensuring that only the correct key can restore the original activation code, thereby enhancing the security of the activation process. This method not only simplifies the decryption process, but also ensures the security of the data and prevents illegal users from obtaining the activation code through illegal means. The restored activation code generated by the XOR operation is compared with the original activation code in the registry to ensure the legality and accuracy of the software activation and effectively prevent unauthorized use.

[0009] Optionally, comparing the restored activation code with the original activation code in the registry, and activating the target software based on the comparison result, includes: Compare the restored activation code with the original activation code in the registration table; If the comparison result is consistent, determining that the target software has completed activation and allowing the target software to be used; When the comparison result is inconsistent, it is determined that the target software has not been activated, and the use of the target software is prohibited.

[0010] This embodiment can ensure the authenticity and legitimacy of the software activation process by comparing the restored activation code with the original activation code in the registry. If the comparison results are consistent, it means that the activation code entered by the user matches the original activation code recorded in the registry, and it can be confirmed that the target software has been legally activated, thereby allowing the software to be used normally. This mechanism effectively prevents unauthorized activation and ensures that only authenticated users can use the software. On the contrary, if the comparison results are inconsistent, it will be determined that the activation process is incomplete or the activation code is invalid, so the use of the software is prohibited. This comparison mechanism enhances the security of the software by verifying the accuracy of the activation code, ensuring that only users who have passed legal activation can access the software functions.

[0011] Optionally, the encryption code includes trial period information; the trial period information includes trial period days, software activation time, cumulative trial duration, and software usage time interval of the last use of the target software; after activating the target software, the method further includes: Writing the trial period information into the registration table; In response to using the target software, obtaining the current system time and the current software usage time; In the case where the current system time is earlier than the software activation time, and / or When the current system time is within the software usage time interval, and / or When the sum of the current software usage time and the accumulated trial time is greater than the number of days in the trial period, the target software is prohibited from being used, and a prompt message is generated to remind the user to reactivate the software.

[0012] This embodiment writes the trial period information into the registry so that trial period related data can be accurately stored and accessed in subsequent operations. The current system time and the current software usage time are obtained each time the target software is used. When the current system time is earlier than the software activation time, or the current system time is within the usage time interval allowed by the software, or the sum of the current software usage time and the accumulated trial time is greater than the predetermined number of days in the trial period, it indicates that the system time of the user device has been tampered with. At this time, the use of the target software will be immediately prohibited, and a prompt message will be generated to remind the user to reactivate.

[0013] In a second aspect, an embodiment of the present application provides a method for activating software encryption, which is applied to a management device, and the method includes: Receiving a registration file of the target software generated by a user device according to an activation instruction of the target software by a user; wherein the registration file includes an original activation code generated randomly; An XOR operation is performed on each character in the original activation code in the registration file and the character in the corresponding position in the preset key to generate an encryption code.

[0014] The present embodiment provides a method for encrypting and activating software, which is applied to a management device, and receives a registration file from a user device, which contains a randomly generated original activation code as the core data for software activation. By combining the randomly generated activation code with an XOR encryption algorithm, the difficulty of cracking is increased, thereby effectively improving the security of the software and preventing the activation code from being illegally tampered with or forged. In the subsequent steps, the original activation code is encrypted, and the specific method is to perform an XOR operation on each character with the character at the corresponding position in the preset key to generate an encrypted encryption code. Since the XOR operation is symmetric, that is, the encryption and decryption processes are the same, only the device using the correct key can decrypt and verify the validity of the activation code. This method ensures the uniqueness and legitimacy of the activation process, and ensures that only legitimate users can obtain valid activation codes. Through this encryption method, the interests of software developers can be effectively protected, and a more secure and reliable activation experience can be provided to users.

[0015] In a third aspect, an embodiment of the present application provides a software encryption activation system, which is applied to a user device, and the system includes: A file generating unit, configured to generate a registration file of the target software in response to an activation instruction issued by a user in the target software; wherein the registration file includes an original activation code generated randomly; A registry writing unit, used for writing the original activation code into a registry; a decryption and restoration unit, configured to, in response to an encryption code generated by encryption by the management device according to the original activation code in the registration file, decrypt the encryption code to generate a restoration activation code; The software activation unit is used to compare the restored activation code with the original activation code in the registration table, and activate the target software based on the comparison result.

[0016] In a fourth aspect, an embodiment of the present application provides a software encryption activation system, which is applied to a management device, and the system includes: A file receiving unit, configured to receive a registration file of the target software generated by a user device according to an activation instruction of the target software by a user; wherein the registration file includes an original activation code generated randomly; The encryption generation unit is used to perform an XOR operation on each character in the original activation code in the registration file and the character at the corresponding position in the preset key to generate an encryption code.

[0017] In a fifth aspect, an embodiment of the present application provides a user equipment, including: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the above-mentioned method for encrypting and activating the software by executing the computer instructions.

[0018] In a sixth aspect, an embodiment of the present application provides a management device, including: A memory and a processor, wherein the memory and the processor are connected to each other for communication, the memory stores computer instructions, and the processor executes the computer instructions to implement the encryption activation method of the software described above.

[0019] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer instructions are stored, and the computer instructions are used to enable a computer to execute the encryption activation method of the software described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0021] Figure 1 A flowchart of a method for activating software encryption provided in an embodiment of the present application, applied to a user device; Figure 2 A flowchart of step S5 provided in an embodiment of the present application; Figure 3 A flowchart of step S7 provided in an embodiment of the present application; Figure 4 A flowchart after activating the target software provided by an embodiment of the present application; Figure 5 A method for activating software encryption provided in an embodiment of the present application is a flowchart applied to a management device; Figure 6 A block diagram of a specific application provided by an embodiment of the present application; Figure 7 A block diagram of a software encryption activation system provided in an embodiment of the present application, applied to a user device; Figure 8 A block diagram of a software encryption activation system provided in an embodiment of the present application, applied to a management device; Fig. 9 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0022] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.

[0023] With the continuous expansion of software development scale and the continuous increase of development costs, how to effectively protect the rights and interests of software developers has become an urgent issue in the industry. Therefore, there is an urgent need for an encryption activation technology that is both low-cost, easy to activate, and has strong anti-cracking capabilities. In the existing technology, although there are many encryption schemes, it is difficult to take into account cost, activation convenience, and anti-cracking at the same time.

[0024] One of the mainstream encryption technologies at present is the dongle licensing technology. Its implementation usually includes the following steps: the user first needs to insert the two hardware devices, the dongle and the development dongle, into the computer, then start the encryption software and enter the unique identification ID of the development dongle to enter the encryption interface. Next, the user needs to provide the key information provided by the dongle supplier and drag the software to be encrypted into the encryption area. After clicking on encryption, the system will add a layer of encryption algorithm on the basis of the original software. The encrypted software generated in the end can only be used normally when the dongle is inserted.

[0025] However, existing encryption schemes still have many shortcomings, especially in terms of encryption cost, activation convenience, and poor compatibility in terms of anti-cracking. First, the dongle licensing technology requires additional hardware support, which not only increases the encryption cost of customers, but also increases the risk of hardware failure. Secondly, although online activation encryption technology does not require hardware support, it requires a continuous Internet connection, which has high requirements for the network environment and the activation process is relatively cumbersome. Finally, although the fixed password encryption technology is simple, once the password is fixed and simple, it is easy to be cracked, and the flexibility of changing the password is poor, and it cannot effectively deal with potential cracking risks.

[0026] Therefore, it is difficult for existing technical solutions to achieve the best balance among low cost, easy activation and anti-cracking. There is an urgent need for a new encryption activation technology that can overcome the limitations of existing solutions while taking into account the needs of all aspects.

[0027] In order to solve the above technical problems, according to an embodiment of the present application, an embodiment of a method for encrypting and activating software is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0028] In this embodiment, a method for activating software encryption is provided, which is applied to a user device. Figure 1 A method for activating software encryption provided in an embodiment of the present application is applied to a flowchart of a user device, such as Figure 1 As shown, the process includes the following steps: Step S1, in response to an activation instruction issued by a user in the target software, a registration file of the target software is generated; wherein the registration file includes an original activation code generated randomly.

[0029] Specifically, the activation instructions are a series of operations that the user needs to perform when the user device installs and uses the target software to ensure the legal use of the software and the integrity of its functions. These operations are intended to verify whether the user has a valid license or authorization to ensure that the software is not used illegally. The embodiment of the present application relates to a software activation process, and the target software includes an activation interface, which is designed with three main functional modules to facilitate the user to complete the software activation process.

[0030] First, the basic information module is used to collect the user's personal or company information. The information that the user needs to fill in in this module includes but is not limited to the company name, email address, contact person, contact information, user permissions, etc. This information not only helps the management device or software manufacturer to confirm the user's identity, but is also used to generate registration files and activation codes later. The data input interface of this module can be designed to be concise and clear to ensure that users can complete the necessary information quickly and accurately.

[0031] Secondly, the registration file generation module is used to generate a registration file based on the user's input information so that the user can continue to complete the activation process. When the user clicks on this module, an original activation code will be randomly generated based on the basic information that has been filled in and the user's activation requirements. This activation code is usually a unique, unpredictable string of characters that is used to verify the legitimacy and integrity of the software in subsequent steps. The generated registration file contains the basic information filled in by the user and the original activation code generated by the system. This registration file is usually in TXT file format for easy storage and transmission.

[0032] Finally, the activation code input module is the key step for users to finally complete software activation. In this module, users need to enter the decrypted restoration activation code of the original activation code previously generated by the registration file. The validity of the activation code is then verified, and after the verification is passed, the user is allowed to use all the functions of the software. If the activation code is invalid or has been used, the user will be prompted to regenerate the activation code or contact the management device for support.

[0033] In summary, the user completes the software activation process by filling in basic information, generating registration files, and entering activation codes. The activation code generation process ensures that each user's activation information is unique and non-repeatable, thereby effectively preventing illegal copying and misappropriation. This process not only ensures the legality of the software, but also provides users with a simple and effective activation method, ensuring that the software can operate normally under the premise of complying with the authorization license.

[0034] Step S3, writing the original activation code into the registration table.

[0035] Specifically, the activation code is written in the registry of the user's device so that the software can read and verify the activation status. First, the registry is a database in the user's device operating system for storing system and software configuration information. Storing the activation code in the registry ensures that the activation status is retained even after the software is uninstalled and reinstalled, unless the user manually clears the relevant data in the registry. In addition, the software can automatically read the activation code from the registry when it is started, without the user having to enter it manually each time, which simplifies the activation process and improves the user experience. In addition, the registry usually requires administrator privileges to modify, which increases the difficulty for unauthorized users to tamper with the activation status, thereby improving security. By storing the activation code in the registry, users can be prevented from illegally sharing the activation code on different devices.

[0036] Step S5, in response to the encryption code generated by the management device through encryption according to the original activation code in the registration file, the encryption code is decrypted to generate a restoration activation code.

[0037] Specifically, the management device generates an encryption code based on the original activation code in the registration file. This process usually involves using a specific encryption algorithm to convert the original activation code into a format that is difficult to read directly. During the software activation process, the user device needs to decrypt the encryption code to generate a restoration activation code. The decryption process is the reverse process of the encryption process, and the encryption code is restored to the original activation code using the same key and algorithm. By encrypting the activation code, the embodiment of the present application can prevent unauthorized users from directly using the activation code, thereby improving the security of the software.

[0038] Step S7, comparing the restored activation code with the original activation code in the registry, and activating the target software based on the comparison result.

[0039] Specifically, when the software is started, it will read the original activation code stored in the registry and compare it with the decrypted restored activation code. If the two activation codes match, it means that the user has a valid license and the software will be activated; if they do not match, the activation fails.

[0040] The present embodiment provides a method for encrypting and activating software, which is applied to a user device and provides a unique and unpredictable activation code for each user by generating a registration file containing a random activation code, which prevents the reuse or misappropriation of the activation code to a certain extent. The original activation code is written into the registry to ensure the persistence of the activation code and facilitate the subsequent verification of the user device. Then, the security of the activation process is further enhanced through the encryption and decryption process, ensuring that the transmission and storage of the activation code are not susceptible to external tampering. Finally, by comparing the restored activation code with the original activation code in the registry, it is ensured that only legitimate users can complete the software activation with the correct activation code, thereby effectively ensuring the legal use of the software and preventing unauthorized use. The overall process combines encryption technology with registry verification to improve the security and anti-counterfeiting capabilities of software activation and ensure that the software can only be used within the authorized scope.

[0041] Figure 2 The flowchart of step S5 provided in the embodiment of the present application may include the following steps: Step S51, performing an XOR operation on each character in the encryption code and the character at the corresponding position in the preset key to generate a restoration activation code.

[0042] Specifically, since the management device encrypts the original activation code by using a preset key to perform an XOR operation on the original activation code to generate an encryption code. Therefore, when the user device activates the software, the same preset key is used to perform an XOR operation on the encryption code to generate a restoration activation code. Due to the reversibility of the XOR operation, this restoration activation code should be the same as the original activation code. The preset key here can be a fixed string of characters or dynamically generated. The key is that the key used for decryption must be exactly the same as the key used for encryption.

[0043] It should be noted that if the original activation code is longer than the preset key, the preset key needs to be used repeatedly to extend the preset key to the same length as the original activation code.

[0044] and Figure 1Compared with the embodiment shown, this embodiment can effectively realize the decryption operation of the encryption code by performing an XOR operation on each character in the encryption code and the character in the corresponding position in the preset key. The XOR operation has its unique security and simplicity: due to the reversibility of the XOR operation, when the key used in encryption is XORed with the encrypted data, the original data can be restored by using the same key again for XOR operation. In this process, the preset key is the key to decryption, ensuring that only the correct key can restore the original activation code, thereby enhancing the security of the activation process. This method not only simplifies the decryption process, but also ensures the security of the data and prevents illegal users from obtaining the activation code through illegal means. The restored activation code generated by the XOR operation is compared with the original activation code in the registry to ensure the legality and accuracy of the software activation and effectively prevent unauthorized use.

[0045] Figure 3 The flowchart of step S7 provided in the embodiment of the present application may include the following steps: Step S71, comparing the restored activation code with the original activation code in the registration table.

[0046] Step S73, when the comparison result is consistent, it is determined that the target software has completed activation and the target software is allowed to be used.

[0047] Step S75: if the comparison result is inconsistent, it is determined that the target software has not been activated, and the target software is prohibited from being used.

[0048] Specifically, the restored activation code is compared character by character with the original activation code in the registry. If the comparison results are consistent, it means that the user has a valid activation code, the software will be activated, and the user can use all the functions of the software. If the comparison results are inconsistent, it means that the user does not have a valid activation code or the activation code has been tampered with. The software will be prohibited from use and the user will be prompted to reactivate. If the activation code is illegally copied or transferred during this process, the comparison process can detect the inconsistency of the activation code and prevent the illegal use of the software. By comparing the restored activation code with the original activation code in the registry, the security of the software can be effectively improved and the abuse of the activation code can be prevented.

[0049] and Figure 1Compared with the embodiment shown, this embodiment can ensure the authenticity and legitimacy of the software activation process by comparing the restored activation code with the original activation code in the registry. If the comparison results are consistent, it means that the activation code entered by the user matches the original activation code recorded in the registry, and it can be confirmed that the target software has been legally activated, thereby allowing the software to be used normally. This mechanism effectively prevents unauthorized activation and ensures that only verified users can use the software. On the contrary, if the comparison results are inconsistent, it will be determined that the activation process is incomplete or the activation code is invalid, so the use of the software is prohibited. This comparison mechanism enhances the security of the software by verifying the accuracy of the activation code, ensuring that only users who have passed legal activation can access the software functions.

[0050] Figure 4 The flowchart after the target software is activated is provided in the embodiment of the present application, wherein the encryption code includes the trial period information; the trial period information includes the number of days of the trial period, the software activation time, the cumulative trial time, and the software usage time interval of the last use of the target software; the process may include the following steps: Step S91, writing the trial period information into the registration table.

[0051] Step S93, in response to using the target software, obtaining the current system time and the current software usage time.

[0052] Step S95, when the current system time is earlier than the software activation time, and / or When the current system time is within the software usage time interval, and / or When the sum of the current software usage time and the accumulated trial time is greater than the number of days in the trial period, the target software is prohibited from being used, and a prompt message is generated to remind the user to reactivate the software.

[0053] Specifically, the encryption code not only contains the character string to be decrypted later, but also includes the trial period information. Once the target software is successfully activated, the carried trial period information is automatically written into the registry. When the user starts the target software, the current system time on the user device used by the target software is obtained, and the current software usage time since the software was started is calculated.

[0054] When it is detected that the current system time is earlier than the software activation time, it indicates that the software has not been activated or the activation has expired. Under normal circumstances, the software should be in a restricted use state until it is activated or reactivated. However, if the actual user can still continue to use the target software, this indicates that the system time of the user's device may have been tampered with, resulting in the software being able to operate normally when it is not activated or the activation has expired. To prevent such problems from occurring, a monitoring mechanism should be in place. When it is detected that the current system time is earlier than the activation time, the use of the target software is immediately prohibited, and a reminder message is generated to notify the user that the software needs to be reactivated. The reminder message should clearly inform the user that the software cannot be activated normally or has expired due to the abnormality of the device system time, and the user is required to check the device system time and follow the relevant steps to complete the reactivation. This mechanism can effectively prevent the behavior of circumventing activation restrictions by tampering with the system time, ensure the normal authorization and legal use of the software, protect the interests of the management device, that is, the software vendor, and improve the security and compliance of the software.

[0055] When it is detected that the current system time is within the time interval of the last valid use of the software, it usually means that the software is within the normal usage time range and the user should be able to use the software normally. However, if the actual situation is that the user has tampered with the system time, causing the software to still run normally during the time period that should be restricted, this behavior may bypass activation restrictions or lead to illegal use of the software. In order to prevent such behavior, an effective time verification mechanism should be in place. When it is detected that the current system time is within the time interval of the last valid use of the software, the use of the target software should be prohibited immediately. At the same time as prohibiting use, a clear reminder message should be generated to inform the user that the software cannot continue to be used due to abnormal device system time, and require the user to reactivate the software.

[0056] When the sum of the current software usage time and the cumulative trial time is greater than the number of days in the trial period, it means that the user has exceeded the permitted trial range and the trial period has ended. In this case, the software should be immediately prohibited from continued use, and a clear reminder message should be generated to inform the user that the trial period has ended and the software needs to be reactivated to continue use.

[0057] Preferably, the trial period information also includes activation status, which includes inactivated and activated. When using the target software, the user will check the activation status in the registry. If the activation status is displayed as "inactivated", the software will be prohibited from use and an inactivated prompt will be displayed. If the activation status is displayed as "activated", the software will allow the user to use all functions.

[0058] and Figure 1Compared with the embodiment shown, this embodiment writes the trial period information into the registry so that the trial period related data can be accurately stored and accessed in subsequent operations. The current system time and the current software usage time are obtained each time the target software is used. When the current system time is earlier than the software activation time, or the current system time is within the usage time interval allowed by the software, or the sum of the current software usage time and the accumulated trial time is greater than the predetermined number of days in the trial period, it indicates that the system time of the user device has been tampered with. At this time, the use of the target software will be immediately prohibited, and a prompt message will be generated to remind the user to reactivate.

[0059] In this embodiment, a method for activating software encryption is provided, which is applied to a management device. Figure 5 A method for activating software encryption provided in an embodiment of the present application is applied to a flowchart of a management device, such as Figure 5 As shown, the process includes the following steps: Step S2, receiving a registration file of the target software generated by the user device according to the activation instruction of the user in the target software; wherein the registration file includes an original activation code generated randomly.

[0060] Step S4, performing an XOR operation on each character in the original activation code in the registration file and the character at the corresponding position in the preset key to generate an encryption code.

[0061] Specifically, there are many options for receiving registration files. Specifically, the user device can send the registration file to the management device based on the IP address through networking. In addition, the user can also download the registration file separately through other methods and send it to the management device through mobile phones, emails, or USB flash drives. These flexible transmission methods can not only meet the needs of different users, but also effectively reduce the complexity and cost of the software encryption process, reduce the risk of cracking, and thus improve the security and anti-tampering capabilities of the software.

[0062] When processing the registration file, the original activation code is encrypted and verified by performing an XOR operation on each activation code character and the corresponding character in the preset key. Through this XOR operation, the combination of the original activation code and the key can generate an encrypted activation code. Since the XOR operation has strong symmetry, only the management device can successfully decrypt and verify the activation code according to the preset key, thus ensuring that only legally authorized users can activate the software. This process greatly enhances the security of the registration file, avoids the possibility of the activation code being cracked or forged, and further protects the copyright and legal use of the software.

[0063] The present embodiment provides a method for encrypting and activating software, which is applied to a management device, and receives a registration file from a user device, which contains a randomly generated original activation code as the core data for software activation. By combining the randomly generated activation code with an XOR encryption algorithm, the difficulty of cracking is increased, thereby effectively improving the security of the software and preventing the activation code from being illegally tampered with or forged. In the subsequent steps, the original activation code is encrypted, and the specific method is to perform an XOR operation on each character with the character at the corresponding position in the preset key to generate an encrypted encryption code. Since the XOR operation is symmetric, that is, the encryption and decryption processes are the same, only the device using the correct key can decrypt and verify the validity of the activation code. This method ensures the uniqueness and legitimacy of the activation process, and ensures that only legitimate users can obtain valid activation codes. Through this encryption method, the interests of software developers can be protected, and a more secure and reliable activation experience can be provided to users.

[0064] The specific implementation of the present invention is described below in conjunction with a specific application scenario. Figure 6 , in this embodiment, it is achieved by the following steps: Collection of user basic information and generation of registration file: The user installs the target software on the device, and the activation interface is displayed after the software is started. It includes three modules: the basic information module collects user information (company name, email address, contact person, etc.); the registration file generation module generates a TXT format registration file containing user information and a randomly generated unordered string (original activation code). After the user enters the basic information, clicks the Generate Registration File button to generate a registration file containing user information and the original activation code, and writes the original activation code into the registry; the activation code input software activation module is used to enter the activation code to activate the software.

[0065] Encrypted activation code generation: The user device sends the generated registration file to the software vendor's management device. The management device imports the registration file and automatically captures the original activation code in the registration file. It uses a preset encryption algorithm (such as XOR operation) to generate an encrypted activation code containing trial period information. The management device sends the encrypted activation code to the user device.

[0066] Software Activation: The user enters the encrypted activation code on the software activation interface and clicks the Activate button. The user device uses a preset decryption algorithm (the same as the encryption algorithm) to generate a restored activation code. The restored activation code is compared with the original activation code in the registry. If the activation codes are inconsistent, the software prompts that the activation failed and the user needs to re-execute the activation steps. If the activation codes are consistent, the software is successfully activated and the trial period information is written to the registry.

[0067] Trial period management: Trial period information includes activation status, trial period days, software activation time, cumulative trial duration, and last use time. Check the activation status in the registry each time the software is started. Determine whether the software has been activated (for example, 0 for not activated, 1 for activated). Combine the trial period days and software activation time, and compare with the current system time to determine whether the trial period has expired. Check the last use time to prevent users from circumventing the trial period by modifying the system time.

[0068] Accordingly, please refer to Figure 7 A software encryption activation system provided in an embodiment of the present application is applied to a block diagram of a user device, and the system includes: The file generating unit S101 is used to generate a registration file of the target software in response to an activation instruction issued by a user in the target software; wherein the registration file includes an original activation code generated randomly; A registry writing unit S103 is used to write the original activation code into the registry; The decryption and restoration unit S105 is used to decrypt the encryption code to generate a restoration activation code in response to the encryption code generated by the management device according to the original activation code in the registration file; The software activation unit S107 is used to compare the restored activation code with the original activation code in the registry, and activate the target software based on the comparison result.

[0069] In some optional implementations, the decryption and restoration unit S105 includes: Perform an XOR operation on each character in the encryption code and the character in the corresponding position in the preset key to generate a restoration activation code.

[0070] In some optional implementations, the software activation unit S107 includes: Compare the restored activation code with the original activation code in the registry; When the comparison results are consistent, it is determined that the target software has been activated and the target software is allowed to be used; When the comparison result is inconsistent, it is determined that the target software has not been activated, and the use of the target software is prohibited.

[0071] In some optional implementations, the encryption code includes trial period information; the trial period information includes the number of trial period days, software activation time, cumulative trial duration, and the software usage time interval of the last use of the target software; after activating the target software, the method further includes: Write the trial period information into the registry; In response to using the target software, obtaining the current system time and the current software usage time; When the current system time is earlier than the software activation time, and / or When the current system time is within the software usage time interval, and / or When the sum of the current software usage time and the accumulated trial time is greater than the number of days in the trial period, the target software is prohibited from being used, and a prompt message is generated to remind the user to reactivate the software.

[0072] Accordingly, please refer to Figure 8 A software encryption activation system provided in an embodiment of the present application is applied to a block diagram of a management device, and the system includes: The file receiving unit S201 is used to receive a registration file of the target software generated by the user device according to the activation instruction of the user in the target software; wherein the registration file includes an original activation code generated randomly; The encryption generation unit S203 is used to perform an XOR operation on each character in the original activation code in the registration file and the character at the corresponding position in the preset key to generate an encryption code.

[0073] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0074] In this embodiment, a software encryption activation system is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0075] See also Fig. 9 , Fig. 9 A schematic diagram of the structure of a computer device provided in an embodiment of the present application is shown in FIG. Fig. 9 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig. 9 A processor 10 is taken as an example.

[0076] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0077] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0078] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 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 optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device 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.

[0079] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0080] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0081] The embodiment of the present application also provides a computer-readable storage medium. The above method according to the embodiment of the present application can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0082] The systems and units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0083] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0084] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods and systems. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0085] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices, and systems according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0086] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0087] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0088] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0089] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0090] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

[0091] Although the embodiments of the present application have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present application, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for activating software encryption, characterized in that: Applied to user equipment, the method comprises: In response to an activation instruction issued by a user on the target software, a registration file of the target software is generated; wherein the registration file includes an original activation code generated randomly; Writing the original activation code into the registry; In response to the management device encrypting the original activation code in the registration file to generate an encryption code, decrypting the encryption code to generate a restoration activation code; The restored activation code is compared with the original activation code in the registry, and the target software is activated based on the comparison result.

2. The method according to claim 1, characterized in that The decrypting the encryption code to generate a restoration activation code includes: An XOR operation is performed on each character in the encryption code and the character at the corresponding position in the preset key to generate the restoration activation code.

3. The method according to claim 1, characterized in that The comparing the restored activation code with the original activation code in the registry, and activating the target software based on the comparison result, includes: Compare the restored activation code with the original activation code in the registration table; If the comparison result is consistent, determining that the target software has completed activation and allowing the target software to be used; When the comparison result is inconsistent, it is determined that the target software has not been activated, and the use of the target software is prohibited.

4. The method according to claim 1, characterized in that: The encryption code includes trial period information; the trial period information includes the number of days of the trial period, the software activation time, the cumulative trial duration, and the software usage time interval of the last use of the target software; After activating the target software, the method further includes: Writing the trial period information into the registration table; In response to using the target software, obtaining the current system time and the current software usage time; In the case where the current system time is earlier than the software activation time, and / or When the current system time is within the software usage time interval, and / or When the sum of the current software usage time and the accumulated trial time is greater than the number of days in the trial period, the target software is prohibited from being used, and a prompt message is generated to remind the user to reactivate the software.

5. A method for activating software encryption, characterized in that: Applied to managing equipment, the method comprises: Receiving a registration file of the target software generated by a user device according to an activation instruction of the target software by a user; wherein the registration file includes an original activation code generated randomly; An XOR operation is performed on each character in the original activation code in the registration file and the character in the corresponding position in the preset key to generate an encryption code.

6. A software encryption activation system, characterized in that: Applied to user equipment, the system comprises: A file generating unit, configured to generate a registration file of the target software in response to an activation instruction issued by a user in the target software; wherein the registration file includes an original activation code generated randomly; A registry writing unit, used for writing the original activation code into a registry; a decryption and restoration unit, configured to, in response to an encryption code generated by encryption by the management device according to the original activation code in the registration file, decrypt the encryption code to generate a restoration activation code; The software activation unit is used to compare the restored activation code with the original activation code in the registration table, and activate the target software based on the comparison result.

7. A software encryption activation system, characterized in that: Applied to managing equipment, the system comprises: A file receiving unit, configured to receive a registration file of the target software generated by a user device according to an activation instruction of the target software by a user; wherein the registration file includes an original activation code generated randomly; The encryption generation unit is used to perform an XOR operation on each character in the original activation code in the registration file and the character at the corresponding position in the preset key to generate an encryption code.

8. A user equipment, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the encryption activation method of the software according to any one of claims 1 to 4 by executing the computer instructions.

9. A management device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the encryption activation method of the software according to claim 5 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the encryption activation method of software described in any one of claims 1 to 4 or claim 5.