A software platform license authorization management method
By using multi-forktree storage structure and asymmetric encryption algorithm on the software platform to generate unique machine codes and digital signatures combined with dynamic planning methods, the problem of lack of hierarchical authority management in the existing technology is solved, and security and convenience are improved.
Patent Information
- Application Number
- CN202510282453.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-03-11
AI Technical Summary
The license authorization management of existing software platforms lacks management methods that are classified into levels, clear permissions and high flexibility, making it difficult to effectively manage browsing, viewing or modifying operations of users with different permissions.
A multi-forktree storage structure is used to grant user permissions at different node levels, and a unique machine code is generated based on user permissions and server hardware information. Digital signature is performed through asymmetric encryption algorithms and dynamic planning methods to generate legal authorization files to realize hierarchical permission management.
It improves the security and convenience of authorization files, realizes hierarchical management of users of different permissions, and enhances the security and flexibility of authorization files.
Smart Images

Figure CN119808046B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of data management, and specifically relates to a license authorization management method for a software platform. Background Art
[0002] With the increasing development of the software industry, the importance of software license management has become more prominent. Traditional license management methods usually rely on symmetric encryption or simple authentication mechanisms, and these solutions face problems such as being easily cracked and having ambiguous authorization scopes. In modern cloud computing and distributed systems, the requirements for the security, effectiveness, and flexibility of license files have become more stringent. Therefore, there is an urgent need for a license authorization mechanism based on high-strength encryption technology that can support multiple authorization levels and provide efficient management.
[0003] The defect in the prior art is that there is a lack of a license authorization management method with clear levels, clear permissions, and high flexibility for users with different permissions to browse, view, or modify files or data in a distributed storage system. Summary of the Invention
[0004] In view of the problem that the existing license authorization method for a software platform lacks stratification for different permission users to browse, view, or modify, the present invention provides a license authorization management method for a software platform.
[0005] To achieve the above technical objectives, the technical solution adopted by the present invention is as follows:
[0006] A license authorization management method for a software platform, comprising the steps of:
[0007] S1. An authorization administrator creates a multi-way tree storage structure for files or data, and key-value pairs are preset in the multi-way tree storage directory structure, main nodes, and branch nodes;
[0008] S2. According to the different nodes where the storage structure of the file or data is located, corresponding levels of user permissions are authorized, and the user permission information includes authorization level, validity period, number of forms, number of users, and user ID;
[0009] S3. A unique machine code is generated according to the corresponding level of user permissions and server hardware information;
[0010] S4. The authorization level in the machine code is digitally signed using an asymmetric encryption algorithm to obtain a first digital signature, and then the other strings in the machine code except the authorization level are interleaved and spliced to obtain a second digital signature;
[0011] The string interleaving and splicing is a dynamic programming method, and the dynamic programming method randomly arranges the other strings in the machine code except the authorization level within a preset period;
[0012] The authorized administrator packs the initial random permutation string order of the first digital signature and the second digital signature as the public key to generate the LIC authorization file and sends it to the client, and stores the period as the private key at the authorized administrator side.
[0013] Furthermore, it also includes authorization file verification. The detailed steps of authorization file verification include:
[0014] S5. When the user accesses the file or data node created by the authorized administrator, perform authorization file verification and determine whether the authorization file verification passes. If it passes, go to step S6; if it does not pass, go to step S7;
[0015] S6. Allow the user to access the file or data node created by the authorized administrator;
[0016] S7. The user chooses to give up accessing the file or data node created by the authorized administrator, or sends a permission opening application to the user permission personnel at the upper level of the multi-way tree storage structure and the authorized administrator;
[0017] S8. According to the joint authorization of the upper-level user permission personnel and the authorized administrator, return to step S3 again and perform secondary authorization file verification.
[0018] Furthermore, the detailed steps of generating a unique machine code for the corresponding level of user permissions:
[0019] The authorization level is the product of all authorization levels of the next node. The authorization level is the key-value pair preset in the multi-way tree storage directory structure, the main node and the branch node; the authorization level value is a prime number.
[0020] Convert the authorization level, validity period, form quantity, user quantity and user ID into strings;
[0021] Concatenate the strings of the authorization level, validity period, form quantity, user quantity and user ID.
[0022] Furthermore, the server hardware information includes hardware ID, authorization period, IP address and MAC address;
[0023] The detailed steps of generating a unique machine code for the server hardware information:
[0024] Convert the hardware ID, authorization period, IP address and MAC address into strings;
[0025] Concatenate the converted strings of the hardware ID, authorization period, IP address and MAC address.
[0026] Furthermore, the specific steps of the string interleaving concatenation method being the dynamic programming method are:
[0027] Randomly permute the validity period, form quantity, user quantity, user ID, hardware ID, authorization period, IP address, and MAC address string, and complete the splicing;
[0028] Preset a period and randomly permute the above randomly permuted string again;
[0029] Send the initial randomly permuted string order to the client as the public key, and store the period as the private key at the authorization administrator side.
[0030] Furthermore, the multi-way tree storage structure of files or data is divided into the multi-way tree storage structure of files and the multi-way tree storage structure of data;
[0031] The multi-way tree storage structure of files includes file name, multi-way tree storage directory structure, and file storage path or storage relationship;
[0032] The multi-way tree storage structure of data includes the main node, branch nodes, and the pointing of the sub-node index direction;
[0033] The data or data table to be stored is stored in the corresponding multi-way tree storage directory structure, main node, and branch nodes.
[0034] Furthermore, the detailed steps of step S2 include:
[0035] S201. Traverse one level up or down according to the node file storage path or storage relationship of the multi-way tree storage directory structure and traverse one node up or down according to the node position where the branch node is located, and use it as the object that files or data in the current multi-way tree storage directory structure can be queried, modified, and deleted for the node and branch node;
[0036] S202. Authorize the corresponding level according to the node depth corresponding to the node and branch node of the multi-way tree storage directory structure;
[0037] The corresponding level authorization needs to match the corresponding user permission information, and the user permission information includes authorization level, validity period, form quantity, user quantity, and user ID.
[0038] Furthermore, the detailed steps of digitally signing the authorization level in the machine code using an asymmetric encryption algorithm:
[0039] Randomly select corresponding prime numbers for assignment p and q for the preset key-value pair with the lowest node level in the authorization level;
[0040] Calculate the common modulus of other key-value pairs in the multi-way tree storage directory structure, main node, and branch nodes higher than the lowest level one by one. The common modulus calculation formula:
[0041] n = p * q, where n is the common modulus, and p and q are the pre - set key - value pair values with the lowest node level in the authorization level, which are two random prime numbers;
[0042] Convert the common modulus into binary code;
[0043] Calculate the Euler's totient function. The formula for the Euler's totient function is:
[0044] , is the number of positive integers less than or equal to n that are relatively prime to n;
[0045] Calculate the public key: , e takes positive integer values, and e and are relatively prime;
[0046] Calculate the private key: e * d % m = 1, where , and get: public key = (e, n), private key = (d, n);
[0047] The calculation of the private key is to find a d such that e * d % m = 1, which is equivalent to e * d - 1 = y * m (y is an integer);
[0048] To get d, it is essentially to solve the binary linear equation e * x - m * y = 1, where e and m are known quantities, and find x and y;
[0049] The above equation can be solved using the extended Euclidean algorithm, and get public key = (e, n), private key = (d, n);
[0050] Encrypt to generate ciphertext:
[0051] , C is the ciphertext, and M is the plaintext;
[0052] Decrypt to generate plaintext:
[0053] , C is the ciphertext, and M is the plaintext.
[0054] Furthermore, the string interleaving and splicing method is a dynamic programming method, and its specific steps are as follows:
[0055] Randomly arrange the strings of validity period, form quantity, user quantity, user ID, hardware ID, authorization period, IP address, and MAC address, and complete the splicing;
[0056] Preset a period, and randomly arrange the above randomly arranged string again;
[0057] Send the initial randomly arranged string order to the user side as the public key, and store the period as the private key at the authorization administrator side.
[0058] Furthermore, when verifying the second digital signature, the second digital signature is performed only after the first digital signature is successfully verified. The steps for verifying the second digital signature are as follows:
[0059] First, verify whether the order of the initial randomly arranged string in the generated LIC authorization file by packaging completely matches. If it matches, proceed to the next step; if not, send an error in the verification of the second digital signature.
[0060] The authorization administrator sends the private key period and the initial signature time to the user side.
[0061] The user side calculates the result value of the number of times the order of the initial randomly arranged string changes and returns it to the authorization administrator to verify whether the result value of the number of times the order of the initial randomly arranged string changes is correct. If it is correct, the verification of the second digital signature is successful.
[0062] Compared with the prior art, the present invention has the following beneficial effects:
[0063] By storing files or data using a multi - fork tree - type storage structure, according to the differences of the nodes of the multi - fork tree storage structure, user permissions corresponding to the node levels are granted. Then, based on the user permissions and server hardware information, a unique machine code is generated. Subsequently, digital signature is performed on the machine code to generate a legal authorization file, achieving the hierarchical management function for different - permission users to browse, view, or modify. At the same time, an asymmetric encryption algorithm and a dynamic programming method are used to implement digital signature, obtaining the first digital signature and the second digital signature, improving the security and convenience during the browsing, viewing, or modification of the authorization file. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 It is the overall flowchart of a software platform license authorization management method in an embodiment of the present invention;
[0065] Figure 2 It is the detailed flowchart of step S2 in an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0066] For the convenience of those skilled in the art to understand, the present invention will be further described below in conjunction with the embodiments and the drawings. The content mentioned in the embodiments does not limit the present invention.
[0067] As Figure 1 shown, a software platform license authorization management method includes the steps:
[0068] S1. The authorization administrator creates a multi - fork tree storage structure for files or data. Key - value pairs are preset in both the multi - fork tree storage directory structure, the main nodes, and the branch nodes.
[0069] S2. Authorize the corresponding level of user permissions according to the nodes where the storage structures of files or data are located. The user permission information includes the authorization level, validity period, number of forms, number of users, and user ID.
[0070] S3. Generate a unique machine code based on the user permissions at the corresponding level and the server hardware information.
[0071] S4. Use an asymmetric encryption algorithm to digitally sign the authorization level in the machine code to obtain the first digital signature, and then use interleaved splicing for other strings in the machine code except the authorization level to obtain the second digital signature. The asymmetric encryption algorithm is the RSA algorithm. The RSA algorithm is used to improve the security of encryption.
[0072] The interleaved splicing of strings is a dynamic programming method. The dynamic programming method randomly arranges other strings in the machine code except the authorization level within a preset period. The interleaved splicing algorithm and rules are preset by the authorization administrator and can be modified secondly by the personnel with higher-level user permissions later, but the modification of the interleaved splicing algorithm and rules needs to be jointly determined by the authorization administrator and the personnel with higher-level user permissions.
[0073] The authorization administrator packs the initial random arrangement string order of the first digital signature and the second digital signature as the public key to generate the LIC authorization file and send it to the user side, and stores the period as the private key at the authorization administrator side.
[0074] It also includes authorization file verification. The detailed steps of authorization file verification are as follows:
[0075] S5. When the user accesses the file or data node created by the authorization administrator, perform authorization file verification and determine whether the authorization file verification passes. If it passes, go to step S6; if it does not pass, go to step S7.
[0076] S6. Allow the user to access the file or data node created by the authorization administrator.
[0077] S7. The user chooses to give up accessing the file or data node created by the authorization administrator, or sends a permission opening application to the personnel with higher-level user permissions and the authorization administrator on the multi-way tree storage structure.
[0078] S8. According to the joint authorization of the personnel with higher-level user permissions and the authorization administrator, return to step S3 again and perform secondary authorization file verification. For users with changed permissions, the method of secondary authorization and secondary verification is adopted to improve the flexibility of authorization.
[0079] The detailed steps for generating a unique machine code based on the user permissions at the corresponding level:
[0080] The authorization level is the product of all authorization levels of the next node. The authorization level is a key-value pair preset in the multi-way tree storage directory structure, the main node, and the branch node. The authorization level value is a prime number.
[0081] Convert the authorization level, validity period, form quantity, user quantity, and user ID into strings.
[0082] Concatenate the strings of the authorization level, validity period, form quantity, user quantity, and user ID.
[0083] The server hardware information includes the hardware ID, authorization period, IP address, and MAC address.
[0084] The detailed steps for generating a unique machine code from the server hardware information:
[0085] Convert the hardware ID, authorization period, IP address, and MAC address into strings.
[0086] Concatenate the strings converted from the hardware ID, authorization period, IP address, and MAC address.
[0087] The specific steps of the string interleaving concatenation method as a dynamic programming method are:
[0088] Randomly permute the strings of the validity period, form quantity, user quantity, user ID, hardware ID, authorization period, IP address, and MAC address, and complete the concatenation.
[0089] Preset a period and randomly permute the above randomly permuted string again.
[0090] Send the initial randomly permuted string order as the public key to the client, and store the period as the private key at the authorization administrator side.
[0091] The multi-way tree storage structure of files or data is divided into the multi-way tree storage structure of files and the multi-way tree storage structure of data.
[0092] The multi-way tree storage structure of files includes the file name, multi-way tree storage directory structure, and file storage path or storage relationship. The file storage path or storage relationship facilitates directly locating the position and hierarchical relationship of the file stored in the multi-way tree storage directory structure. The storage depth represents the length and depth of the file storage path. The file storage path of the current node can only query or modify the nodes under its own node branch, cannot query or modify the data in the files of other nodes at the same level of its own node, and even less can query the data or permission information in the files of the previous node.
[0093] The multi-way tree storage structure of data includes a main node, branch nodes, and the pointing directions of sub-node indexes; the pointing directions of sub-node indexes help to subsequently verify and judge the upper-level navigation data storage table of sub-nodes and the lower-level detailed index sub-node index detailed data storage table, that is, the relationship between the data storage index tables of the upper and lower levels of the current node.
[0094] The data or data table to be stored is stored in the corresponding multi-way tree storage directory structure, main node, and branch nodes;
[0095] Key-value pairs are preset in the multi-way tree storage directory structure, main node, and branch nodes.
[0096] As Figure 2 shown, the detailed steps of step S2 include:
[0097] S201. Traverse one level up or down according to the node file storage path or storage relationship of the multi-way tree storage directory structure and traverse one node up or down according to the node position of the branch node, as the object that the node and branch node storage files or data in the current multi-way tree storage directory structure can be queried, modified, and deleted;
[0098] S202. Authorize the corresponding level according to the node depths of the nodes and branch nodes in the multi-way tree storage directory structure;
[0099] The corresponding level authorization needs to match the corresponding user permission information. The user permission information includes authorization level, validity period, form quantity, user quantity, and user ID. It realizes hierarchical management of the corresponding permission files and data, and the permissions are clear.
[0100] The detailed steps of digitally signing the authorization level in the machine code using an asymmetric encryption algorithm:
[0101] Randomly select corresponding prime numbers p and q for assignment to the key-value pairs with the lowest node levels in the authorization level; it consists of at least two key-value pairs with the lowest node levels in the authorization level, depending on the actual situation, and can also be composed of three or more than three key-value pairs;
[0102] Calculate the common modulus of other key-value pairs in the multi-way tree storage directory structure, main node, and branch nodes higher than the lowest level one by one. The common modulus calculation formula:
[0103] n = p * q, where n is the common modulus, and p and q are the numerical values of the key-value pairs with the lowest node levels in the authorization level, which are two random prime numbers;
[0104] Convert the common modulus into binary code;
[0105] Calculate the Euler's totient function. The Euler's totient function calculation formula is:
[0106] , is the number of positive integers less than or equal to n that are relatively prime to n;
[0107] Calculate the public key: , e takes positive integer values, and e and are relatively prime;
[0108] Calculate the private key: e * d % m = 1, where , and we get: public key = (e, n), private key = (d, n);
[0109] The calculation of the private key is to find a d such that e * d % m = 1, which is equivalent to e * d - 1 = y * m (y is an integer).
[0110] To get d, essentially it is to solve the binary linear equation e * x - m * y = 1, where e and m are known quantities, and we need to find x and y.
[0111] The above equation can be solved using the extended Euclidean algorithm, and we get public key = (e, n), private key = (d, n).
[0112] Encrypt to generate the ciphertext:
[0113] , C is the ciphertext, and M is the plaintext;
[0114] Decrypt to generate the plaintext:
[0115] , C is the ciphertext, and M is the plaintext.
[0116] The method of interleaving and splicing strings is a dynamic programming method, and its specific steps are as follows:
[0117] Randomly permute the strings of the validity period, form number, user number, user ID, hardware ID, authorization period, IP address, and MAC address, and complete the splicing;
[0118] Preset a period and randomly permute the above randomly permuted strings again;
[0119] Send the order of the initial randomly permuted strings as the public key to the user side, and store the period as the private key at the authorization administrator side. The dynamic programming method of the order of the randomly permuted strings within the period is fixed. When verifying the subsequent second digital signature, it is fed back to the authorization administrator side according to the time, and the authorization administrator side then verifies according to the periodic change rule (the order of the randomly permuted strings).
[0120] The first digital signature and the second digital signature will also add a time range comparison method during the verification process to determine whether the current clock is within the validity period and the authorization period.
[0121] When verifying the second digital signature, the second digital signature is carried out only after the successful verification of the first digital signature. The steps for verifying the second digital signature are as follows:
[0122] First, verify whether the order of the initial randomly arranged strings in the packaged LIC authorization file exactly matches. If it matches, proceed to the next step; if not, send a second digital signature verification error.
[0123] The authorization administrator terminal sends the private key period and the initial signature time to the user terminal.
[0124] The user terminal calculates the result value of the number of permutation order changes of the initial randomly arranged strings and returns it to the authorization administrator terminal to verify whether the result value of the number of permutation order changes of the initial randomly arranged strings is correct. If it is correct, the second digital signature verification is successful.
[0125] The dynamic programming method is a bottom-up solution method. By splitting the problem into sub-problems and saving the results of the sub-problems, repeated calculations are avoided. For the interleaving string problem, a two-dimensional array dp can be used to save the results of the sub-problems, where dp[i][j] represents whether the first i characters of s1 and the first j characters of s2 can be interleaved to form the first i + j characters of s3. The implementation steps of the dynamic programming method are as follows:
[0126] Initialize dp = True, indicating that two empty strings can be interleaved to form an empty string.
[0127] Traverse each character of s1 and s2 and update the values of the dp array.
[0128] Finally, return dp[m][n], where m and n are the lengths of s1 and s2 respectively.
[0129] Code example:
[0130] The following is a Kotlin code example for implementing interleaving splicing using the dynamic programming method:
[0131] fun isInterleave(s1: String, s2: String, s3: String): Boolean {
[0132] val m = s1.length
[0133] val n = s2.length
[0134] val l = s3.length
[0135] if (m + n != l) {
[0136] return false
[0137] }
[0138] val dp = Array(m + 1) { Array(n + 1) { false}}
[0139] dp = true
[0140] for (i in 0..m) {
[0141] for (j in 0..n) {
[0142] if (i > 0) {
[0143] dp[i][j] = dp[i][j] || (dp[i - 1][j] && s1[i - 1] == s3[i + j - 1])
[0144] }
[0145] if (j > 0) {
[0146] dp[i][j] = dp[i][j] || (dp[i][j - 1] && s2[j - 1] == s3[i + j - 1])
[0147] }
[0148] }
[0149] }
[0150] return dp[m][n]
[0151] }。
[0152] The present invention has the following beneficial effects compared with the prior art:
[0153] By storing files or data using a multi - fork tree - type storage structure, according to the differences of the nodes of the multi - fork tree storage structure, user permissions corresponding to the levels of the nodes are granted. Then, a unique machine code is generated based on the user permissions and the server hardware information. Subsequently, a digital signature is performed on the machine code to generate a legal authorization file, realizing the function of hierarchical management for different - permission users to browse, view, or modify. At the same time, an asymmetric encryption algorithm and a dynamic programming method are used to implement digital signatures, obtaining the first digital signature and the second digital signature, improving the security and convenience when browsing, viewing, or modifying the authorization file.
[0154] Set it as a dynamic programming method through the string interleaving splicing method to prevent the risk of the initial randomly arranged string order being intercepted and the initial randomly arranged string being leaked.
[0155] The above has introduced in detail a software platform license authorization management method provided by the present application. The description of specific embodiments is only used to help understand the method and its core idea of the present application. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.
Claims
1. A software platform license authorization management method, characterized in that, Including the steps: S1. The authorized administrator terminal creates a multi - fork tree storage structure for files or data. Key - value pairs are preset in the multi - fork tree storage directory structure, main nodes, and branch nodes; S2. According to the different nodes where the storage structure of the file or data is located, corresponding - level user permissions are authorized. User permissions include authorization level, validity period, number of forms, number of users, and user ID; S3. Generate a unique machine code based on the corresponding - level user permissions and server hardware information; S4. Use an asymmetric encryption algorithm to perform a digital signature on the authorization level in the machine code to obtain the first digital signature, and then perform interleaved splicing on other strings in the machine code except the authorization level to obtain the second digital signature; The string interleaved splicing uses the dynamic programming method. The dynamic programming method randomly arranges other strings in the machine code except the authorization level within a preset period; The authorized administrator terminal packs the first digital signature and the initial random arrangement string of the second digital signature (used as the public key) in sequence to generate a license authorization file and sends it to the user terminal. The period is stored as the private key in the authorized administrator terminal; After the first digital signature is successfully verified, the second digital signature verification is carried out. The steps of the second digital signature verification are as follows: First, verify whether the order of the initial random arrangement strings in the license authorization file generated by packing completely matches the initial arrangement order preset by the user terminal. If it matches, proceed to the next step; if not, send a second digital signature verification error; The authorized administrator terminal sends the private - key period and the initial signature time to the user terminal; The user terminal calculates the result value of the number of times the initial random arrangement string order changes and returns it to the authorized administrator terminal to verify whether the result value of the number of times the initial random arrangement string order changes is correct. If it is correct, the second digital signature verification is successful.
2. The software platform license authorization management method according to claim 1, characterized in that It also includes license - file verification. The detailed steps of license - file verification include: S5. When the user accesses the file or data node created by the authorized administrator terminal, license - file verification is carried out, and it is judged whether the license - file verification passes. If it passes, proceed to step S6; if not, proceed to step S7; S6. Allow the user to access the file or data node created by the authorized administrator terminal; S7. The user chooses to give up accessing the file or data node created by the authorized administrator terminal, or sends a permission - opening application to the user - permission personnel at the upper level of the multi - fork tree storage structure and the authorized administrator terminal; S8. According to the joint authorization of the upper - level user - permission personnel and the authorized administrator terminal, return to step S3 and perform secondary license - file verification.
3. A software platform license authorization management method according to claim 2, characterized in that, The detailed steps of generating a unique machine code based on the corresponding - level user permissions and server hardware information: The current authorization level is the product of all authorization levels of the next node. The authorization level of the next node is the key - value pair preset in the multi - fork tree storage directory structure, main node, and branch node; Convert the authorization level, validity period, number of forms, number of users, and user ID into strings; Splice the strings of the authorization level, validity period, number of forms, number of users, and user ID; Server hardware information includes hardware ID, authorization period, IP address, and MAC address; Convert the hardware ID, authorization period, IP address, and MAC address into strings; Concatenate the strings converted from the hardware ID, authorization period, IP address, and MAC address.
4. A software platform license authorization management method according to claim 3, characterized in that, The specific steps for interleaved concatenation of strings are as follows: Randomly arrange the strings of the validity period, form quantity, user quantity, user ID, hardware ID, authorization period, IP address, and MAC address, and complete the concatenation; Preset a period and randomly arrange the above randomly arranged strings again; Send the initial randomly arranged string order to the client as the public key, and store the period as the private key at the authorization administrator side.
5. A software platform license authorization management method according to claim 4, characterized in that The multi-way tree storage structure of files or data is divided into the multi-way tree storage structure of files and the multi-way tree storage structure of data; The multi-way tree storage structure of files includes the file name, multi-way tree storage directory structure, and file storage path or storage relationship; The multi-way tree storage structure of data includes the main node, branch nodes, and the pointers in the sub-node index direction; The data to be stored is stored in the corresponding multi-way tree storage directory structure, main node, and branch nodes; Key-value pairs are preset in the multi-way tree storage directory structure, main node, and branch nodes.
6. The software platform license authorization management method according to claim 5, characterized in that The detailed steps of step S2 include: S201. Traverse one level up or down according to the node file storage path or storage relationship of the multi-way tree storage directory structure as the object that the node storage file in the current multi-way tree storage directory structure can be queried, modified, and deleted; Traverse one node up or down according to the node position where the branch node of the multi-way tree storage directory structure is located as the object that the branch node storage data in the current multi-way tree storage directory structure can be queried, modified, and deleted; According to the node position where the branch node of the multi-way tree storage directory structure is located, traverse one node up or down as the object that the branch node storage data in the current multi-way tree storage directory structure can be queried, modified, and deleted; S202. Authorize the corresponding level according to the node depth of the node and branch node of the multi-way tree storage directory structure; 7. A software platform license authorization management method according to claim 6, characterized in that, S203. The corresponding level authorization needs to match the corresponding user permission information. The detailed steps of digitally signing the authorization level in the machine code using an asymmetric encryption algorithm: Randomly select corresponding prime numbers for assignment p and q for the preset key-value pairs with the lowest node level in the authorization level; , where n is the common modulus, and p and q are preset key-value pair values with the lowest node levels in the authorization level, being two random prime numbers; Calculate the common modulus of other key-value pairs in the multi-way tree storage directory structure, main node, and branch nodes higher than the lowest level one by one. The common modulus calculation formula: Convert the common modulus into binary code; , is the number of positive integers less than or equal to n that are relatively prime to n. Calculate the public key: Assume 1 < e < , where the value of e is a positive integer, e and are relatively prime to each other, and we get: Public key = (e, n); Calculating the private key: Let , where = m, and we get: Private key = (d, n); Calculate the Euler's totient function. The Euler's totient function calculation formula is: , C is the ciphertext and M is the plaintext; Generate ciphertext by encryption: Generate plaintext by decryption: , C is the ciphertext and M is the plaintext.
Citation Information
Patent Citations
Software authorization system based on public key cryptosystem
CN103491097A
Offline product license generation and verification method
CN117874718A