Lightweight decryption task division and scheduling system, method, medium and terminal
By designing a lightweight task division and scheduling mechanism in the password cracking system, the total password cracking task is divided into sub-tasks and assigned to multiple work nodes for parallel processing, the problems of insufficient single-machine performance and complex deployment of distributed systems are solved, and efficient and flexible password cracking capabilities are achieved.
Patent Information
- Application Number
- CN202411830409.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-04-04
AI Technical Summary
Among the existing password cracking technologies, the stand-alone cracking performance is not enough to meet the needs of large-scale password cracking tasks, and the distributed cracking system is complex in deployment and poor in scalability, making it difficult to provide a flexible and efficient cracking experience.
A lightweight deciphering and decrypting task division and scheduling system is designed, including a client, a scheduling node and multiple work nodes. The total password cracking task is divided into subtasks through the lightweight task division module, and these subtasks are allocated to different work nodes for parallel processing through the lightweight task scheduling module.
Through refined task division and scheduling, the utilization of computing resources and task allocation during the cracking process is optimized, parallel computing capabilities are maximized, and deciphering speed is improved, ensuring that task priority can be adjusted in real time in a large-scale concurrent computing environment, avoid resource waste, and meet the needs of large-scale password cracking tasks.
Smart Images

Figure CN119759560A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of password cracking, and in particular to a lightweight decryption task division and scheduling system, method, medium and terminal. Background Art
[0002] With the rapid development of information technology and the widespread popularity of the Internet, cryptography technology plays a vital role in modern society. It is not only widely used in scenarios such as data protection and identity authentication, but also becomes the cornerstone of maintaining information security and privacy. For example, the login password of a personal computer can effectively protect the user's personal data security; the website login password can prevent illegal users from accessing the sensitive information of the website; the database access password can ensure that the information in the database is not tampered with or stolen by unauthorized personnel.
[0003] However, with the expansion of the user scale and the increase in password usage scenarios, password management issues have become increasingly prominent. Many users have to resort to password recovery tools or systems, such as password cracking software such as Hashcat and John the Ripper, because they have forgotten their passwords. These software recover lost passwords by trying various possible password combinations. Although they have solved the user's urgent needs to a certain extent, they also face the challenge of cracking efficiency.
[0004] Traditional password cracking methods, such as brute force cracking, rely on trying a large number of possible combinations to crack the password. For shorter passwords, brute force cracking can be completed in a short time. However, for complex or longer passwords, the cracking speed is not up to the task and takes a long time to execute. Take Hashcat as an example. Even on a high-performance Intel XeonGold 5218CPU, the cracking rate for the SHA-1 hash algorithm is as high as 269.1GH / s, but when faced with an 8-bit full-space mask, it still takes a day to crack. This undoubtedly limits the efficiency and practicality of password cracking.
[0005] In order to improve the efficiency of cracking, developers began to explore distributed password cracking technology. Distributed cracking systems achieve a significant increase in cracking speed by assigning cracking tasks to multiple nodes, thereby accelerating the cracking process. For example, distributed cracking software such as Hashtopolis and fitcrack greatly accelerate the password cracking process by working together with multiple nodes. However, although these distributed cracking systems can significantly improve the efficiency of cracking, there are also some problems that cannot be ignored.
[0006] First, the deployment and maintenance of distributed systems are relatively complex. Since multiple nodes need to be coordinated to work together, system debugging and optimization often require a lot of time and effort. This not only increases the operating cost of the system, but also limits its application in certain scenarios.
[0007] Secondly, the existing distributed cracking system has poor scalability. As the number of cracking tasks increases, the system often has difficulty flexibly adjusting resources to meet demand. This causes the system to hit a bottleneck due to insufficient resources when facing large-scale cracking tasks.
[0008] Finally, the complexity of system functions is also a major drawback of existing distributed password cracking software. Due to the integration of multiple functions and modules, these systems often sacrifice stand-alone performance. For some users who need lightweight solutions, existing distributed password cracking software seems too bloated, inflexible and inefficient.
[0009] In summary, current password cracking technology faces two major challenges: (1) The performance of single-machine cracking is insufficient and it is difficult to meet the needs of large-scale password cracking tasks. (2) Existing distributed cracking systems are complex to deploy and have poor scalability, making it difficult to provide a flexible and efficient cracking experience. In order to meet the needs of modern password cracking, it is urgent to develop a lightweight distributed cracking system that can provide efficient cracking capabilities, high scalability, and easy deployment and management. Summary of the invention
[0010] In view of the shortcomings of the prior art mentioned above, the purpose of the present application is to provide a lightweight decryption task division and scheduling system, method, medium and terminal, which are used to solve the technical problems existing in the existing password cracking technology that the stand-alone cracking performance is not sufficient to meet the needs of large-scale password cracking tasks, and the existing distributed cracking software has great difficulty in deployment and expansion.
[0011] To achieve the above-mentioned purpose and other related purposes, the first aspect of the present application provides a lightweight decryption task division and scheduling system, including: a client, a scheduling node and multiple working nodes; the scheduling node is respectively communicated with the client and each working node; a lightweight task division module is deployed on the client; the lightweight task division module is used to receive the created total password cracking task, and divide the total password cracking task into a number of sub-password cracking tasks, and send each of the sub-password cracking tasks to the scheduling node; a lightweight task scheduling module is deployed on the scheduling node; the lightweight task scheduling module is used to assign each of the sub-password cracking tasks to different working nodes; a password cracking module is deployed on each of the working nodes; the password cracking module is used to perform password cracking operations according to the sub-password cracking tasks assigned to its working node, and feed back the password cracking results to the client through the scheduling node.
[0012] In some embodiments of the first aspect of the present application, the method of dividing the total password cracking task into several sub-password cracking tasks includes: parsing the received total password cracking task to obtain password cracking parameter data; wherein the password cracking parameter data includes a combination of one or more of a secret string file, a mask file, and a character set; according to the password cracking parameter data, calculating the total password space quantity required to execute the total password cracking task; according to the total password space quantity, and based on a preset algorithm rate and a preset task duration, dividing the total password cracking task into several sub-password cracking tasks.
[0013] In some embodiments of the first aspect of the present application, a task distribution module is also deployed on the scheduling node, and the task distribution module is used to perform the following steps: determine the working nodes participating in the password cracking operation, the number of working nodes participating in the password cracking operation, and the number of sub-working nodes under each working node participating in the password cracking operation according to the number of the sub-password cracking tasks and the working status information of each working node; calculate the password interval allocated to each sub-working node under each working node participating in the password cracking operation according to the total number of password spaces, the working nodes participating in the password cracking operation, the number of working nodes participating in the password cracking operation, and the number of sub-working nodes under each working node participating in the password cracking operation.
[0014] In some embodiments of the first aspect of the present application, a device management module is also deployed on the scheduling node, and the device management module is used to monitor the working status information of each working node and feed back the working status information of each working node to the lightweight task scheduling module and the task distribution module.
[0015] In some embodiments of the first aspect of the present application, a cracking task division module is also deployed on the working node. The cracking task division module distributes the assigned sub-password cracking tasks to different sub-working nodes under its working node in batches according to the sub-password cracking tasks assigned to its working node, so that they can perform password cracking operations in parallel.
[0016] In some embodiments of the first aspect of the present application, the password cracking module performs password cracking operations according to the sub-password cracking tasks assigned to its working node, including: performing password cracking operations of corresponding sub-password cracking tasks according to the sub-password cracking tasks assigned to its working node and the password intervals assigned to different sub-working nodes under its working node, and feeding back the password cracking results to the scheduling node.
[0017] In some embodiments of the first aspect of the present application, a user interaction module is also deployed on the client; the user interaction module is used to obtain cracking task data input by the user, and create a general password cracking task based on the cracking task data input by the user, and send the general password cracking task to the lightweight task division module.
[0018] To achieve the above-mentioned purpose and other related purposes, the second aspect of the present application provides a lightweight decryption task division and scheduling method, which is applied to the lightweight decryption task division and scheduling system as described above, and the lightweight decryption task division and scheduling method includes: a lightweight task division module is deployed on the client; the lightweight task division module is used to receive the created total password cracking task, and divide the total password cracking task into a number of sub-password cracking tasks, and send each of the sub-password cracking tasks to a scheduling node; a lightweight task scheduling module is deployed on the scheduling node; the lightweight task scheduling module is used to assign each of the sub-password cracking tasks to different working nodes; a password cracking module is deployed on each of the working nodes; the password cracking module is used to perform password cracking operations according to the sub-password cracking tasks assigned to its working node, and feed back the password cracking results to the client through the scheduling node.
[0019] To achieve the above-mentioned purpose and other related purposes, the third aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the lightweight decryption task division and scheduling method as described above.
[0020] To achieve the above-mentioned purpose and other related purposes, the fourth aspect of the present application provides an electronic terminal, including a memory, a processor and a computer program stored in the memory, and the processor executes the computer program to implement the lightweight decryption task division and scheduling method as described above.
[0021] As described above, the lightweight decryption task division scheduling system, method, medium and terminal of the present application have the following beneficial effects: the lightweight task division module deployed on the client divides the total password cracking task into several sub-password cracking tasks, and sends each sub-password cracking task to the scheduling node, and the lightweight task scheduling module deployed on the scheduling node assigns each sub-password cracking task to different working nodes, executes the password cracking operation in parallel, and feeds back the password cracking result to the client through the scheduling node, thereby optimizing the computing resource utilization and task allocation in the cracking process through refined task division and scheduling. The system maximizes parallel computing capabilities and improves the decryption speed through efficient task splitting and scheduling, ensuring that in a large-scale concurrent computing environment, the task priority can be adjusted in real time to avoid resource waste, and can meet the needs of large-scale password cracking tasks. Its flexibility and efficiency can adapt to a variety of hardware platforms (such as CPU, GPU, FPGA), realize efficient decryption task processing, and have strong fault tolerance to ensure stable and efficient operation in the face of complex decryption tasks.
[0022] Furthermore, the lightweight decryption task division scheduling system, method, medium and terminal of the present application incorporate lightweight design throughout the entire task division process, which makes it possible to efficiently complete task allocation and monitoring by simply allocating priority and load balancing mechanisms without complex calculations for task distribution of scheduling nodes. This design ensures the efficient operation of the system, and can reduce the system's resource consumption, management complexity and operating costs while ensuring the cracking efficiency, in line with the lightweight and simplified design principles, and provides users with a more flexible and efficient password cracking solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 Shown is a structural diagram of a lightweight decryption task division and scheduling system in one embodiment of the present application.
[0024] Figure 2 Shown is a flowchart of dividing the overall password cracking task in one embodiment of the present application.
[0025] Figure 3 Shown is a flowchart of calculating the password interval assigned to each sub-working node in one embodiment of the present application.
[0026] Figure 4 Shown is a structural diagram of the local deployment mode of the lightweight decryption task division and scheduling system in one embodiment of the present application.
[0027] Figure 5 Shown is a structural diagram of a distributed deployment mode of a lightweight decryption task division and scheduling system in one embodiment of the present application.
[0028] Figure 6 Shown is a flow chart of a lightweight decryption task division and scheduling method in one embodiment of the present application.
[0029] Figure 7 Shown is a schematic diagram of the structure of an electronic terminal in one embodiment of the present application. DETAILED DESCRIPTION
[0030] The following describes the embodiments of the present application through specific examples, and those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. The present application can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.
[0031] Before further describing the present invention in detail, the nouns and terms involved in the embodiments of the present invention are explained. The nouns and terms involved in the embodiments of the present invention are applicable to the following interpretations:
[0032] <1> Hashcat: is an open source tool for password cracking, known for its powerful password cracking capabilities and multiple attack modes. It uses the parallel computing power of GPU to significantly increase the speed of password cracking.
[0033] <2> John the Ripper: JtR for short, is an open source and widely used password cracking tool used to test the strength of passwords and crack encrypted hashes.
[0034] <3> Intel Xeon Gold 5218CPU: Intel Xeon Gold 5218 processor.
[0035] <4> GPU (Graphics Processing Unit): A graphics processor is a microprocessor that is specifically designed to perform graphics rendering tasks on personal computers, workstations, game consoles, and some mobile devices (such as tablets, smartphones, etc.).
[0036] <5> SHA-1 hash algorithm (Secure Hash Algorithm 1): that is, Secure Hash Algorithm 1, whose working principle is based on a series of complex mathematical operations, mainly including modulus operations, bit shift operations, XOR operations, etc.
[0037] <6> Hashtopolis: is a multi-platform client-server tool for distributing hashcat tasks to multiple computers. It is mainly used for distributed hash cracking and aims to speed up the password cracking process by utilizing the computing power of multiple computers.
[0038] <7> fitcrack: is a distributed password cracking system based on hashcat. It uses hashcat's powerful password cracking capabilities and accelerates the cracking process through distributed computing.
[0039] <8> FPGA (Field-Programmable Gate Array): Field-Programmable Gate Array is an integrated circuit chip (IC) with a programmable logic gate array and programmable internal connections.
[0040] <9> CPU (Central Processing Unit): The central processing unit is the core component of the computer system, responsible for executing instructions in the program and processing data.
[0041] <10> Python: is a widely used high-level programming language known for its concise syntax and powerful functions. Python provides a variety of libraries and tools to handle various tasks, including network communication, file operations, data analysis, and machine learning.
[0042] <11> pickle package: is a module in the Python standard library that is used for serialization and deserialization of objects. Serialization refers to the process of converting an object into a byte stream so that the object can be stored or transmitted. Deserialization is the process of converting a byte stream back to the original object.
[0043] <12> opt directory: A standard directory in the Linux system (open source operating system), usually used to store third-party software or programs.
[0044] <13> install.sh: is the name of a script file with the extension .sh, which indicates a scripting language used to automate the execution of a series of commands.
[0045] <14> uninstall.sh: is a script file used to uninstall software or programs.
[0046] <15> uninstall_worker.sh: refers to a command used to uninstall a worker node on a specific device.
[0047] <16> Device Id: The identifier of the device
[0048] <17> install_scheduler.sh: Install the scheduler script, which is used to install the scheduler program on the selected scheduling node (usually a server responsible for allocating and managing computing tasks).
[0049] <18> install_workers.sh: Install the worker node script, which is used to install the worker node program on the server that needs to perform computing tasks.
[0050] <19> uninstall.sh: Uninstallation script, which is used to uninstall programs on all nodes (including scheduling nodes and working nodes) in the entire distributed computing system.
[0051] <20> uninstall_workers.sh: Uninstall worker node script. This script is used to uninstall the worker node program on the specified worker node.
[0052] <21> uninstall_worker.sh: Uninstall a specific worker node script (by device ID). This script allows users to uninstall a specific worker node by specifying the device ID.
[0053] Current password cracking technology faces two major challenges: (1) The performance of single-machine cracking is insufficient and it is difficult to meet the needs of large-scale password cracking tasks. (2) Existing distributed cracking systems are complex to deploy and have poor scalability, making it difficult to provide a flexible and efficient cracking experience. In order to meet the needs of modern password cracking, it is urgent to develop a lightweight distributed cracking system that can provide efficient cracking capabilities, high scalability, and easy deployment and management.
[0054] In order to solve the problems in the above-mentioned background technology, the present application provides a lightweight decryption task division and scheduling system, method, medium and terminal, which are used to solve the technical problems existing in the existing password cracking technology that the single-machine cracking performance is not enough to meet the needs of large-scale password cracking tasks, and the existing distributed cracking software has great difficulty in deployment and expansion.
[0055] To facilitate understanding of the embodiments of the present application, first Figure 1 Detailed description. Figure 1 The schematic diagram of the structure of the lightweight decryption task division and scheduling system in the embodiment of the present invention is shown. The lightweight decryption task division and scheduling system 100 in this embodiment mainly includes: a client 101, a scheduling node 102 and a plurality of working nodes 103; the scheduling node 102 is respectively connected to the client 101 and each working node 103 in communication.
[0056] A lightweight task division module 1012 is deployed on the client 101 ; the lightweight task division module 1012 is used to receive a created general password cracking task, divide the general password cracking task into several sub-password cracking tasks, and send each of the sub-password cracking tasks to the scheduling node 102 .
[0057] A lightweight task scheduling module 1021 is deployed on the scheduling node 102 ; the lightweight task scheduling module 1021 is used to assign each of the sub-password cracking tasks to different working nodes 103 .
[0058] A password cracking module 1031 is deployed on each of the working nodes 103 ; the password cracking module 1031 is used to perform password cracking operations according to the sub-password cracking tasks assigned to its working node 103 , and feed back the password cracking results to the client 101 through the scheduling node 102 .
[0059] In this embodiment, a user interaction module 1011 is also deployed on the client; the user interaction module 1011 is used to obtain the cracking task data input by the user, and create a general password cracking task according to the cracking task data input by the user, and send the general password cracking task to the lightweight task division module 1012.
[0060] In this embodiment, the user inputs cracking task data through the interface of the client 101, and the cracking task data includes but is not limited to: target hash value (i.e., password hash to be cracked), secret string file or mask file, etc. And according to the cracking task data input by the user, a general password cracking task is created, and the general password cracking task is sent to the lightweight task division module 1012.
[0061] In this embodiment, if Figure 2 As shown, it is a schematic diagram of the process of dividing the total password cracking task in an embodiment of the present invention. The lightweight task division module 1012 divides the total password cracking task into a plurality of sub-password cracking tasks including:
[0062] S201: Parse the received total password cracking task to obtain password cracking parameter data; wherein the password cracking parameter data includes a combination of one or more of a secret string file, a mask file, and a character set.
[0063] In this embodiment, the lightweight task division module 1012 first parses the total password cracking task and extracts key password cracking parameter data from it. The secret string file contains a list of passwords or passwords to be tried. The mask file defines the possible format or structure of the password, such as length, character type (uppercase letters, lowercase letters, numbers, etc.). The character set defines the set of all characters that can be used to generate a password, such as all lowercase letters, all numbers, etc.
[0064] S202: Calculate the total password space quantity required to execute the total password cracking task according to the password cracking parameter data.
[0065] In this embodiment, after the password cracking parameter data is obtained, the total number of password spaces required to perform the total password cracking task is calculated, denoted by N, and the total number of password spaces N represents the total number of all possible password combinations.
[0066] S203: Divide the total password cracking task into a plurality of sub-password cracking tasks according to the total password space quantity, based on a preset algorithm rate and a preset task duration.
[0067] In this embodiment, the total password cracking task is divided into several sub-password cracking tasks according to the total number of password spaces N, and based on the preset algorithm rate (i.e., the number of passwords that can be tested per second) and the preset task duration (i.e., how long it is expected to take to complete the cracking task) recorded in the configuration file. The division of the total password cracking task ensures that the cracking task can be completed within a reasonable time while making full use of available computing resources. By breaking down the task into smaller parts, it is easier to manage, monitor, and process these tasks in parallel, thereby improving overall efficiency.
[0068] In this embodiment, a device management module 1022 is also deployed on the scheduling node. The device management module 1022 is used to monitor the working status information of each working node and feed back the working status information of each working node to the lightweight task scheduling module 1021 and the task distribution module 1023.
[0069] In this embodiment, if Figure 3 As shown, it is a schematic diagram of the process of calculating the password intervals assigned to each sub-working node in an embodiment of the present invention. The scheduling node 102 is also deployed with a task distribution module 1023, and the task distribution module 1023 is used to perform the following steps:
[0070] S301: Determine the working nodes involved in the password cracking operation, the number of working nodes involved in the password cracking operation, and the number of sub-working nodes under each working node involved in the password cracking operation according to the number of sub-password cracking tasks and the working status information of each working node.
[0071] In this embodiment, the working status information includes, but is not limited to, key performance indicators such as CPU usage, memory occupancy, disk I / O, network bandwidth, and load. Based on the working status information of each working node 103 and how many sub-password cracking tasks are currently required to be assigned, determine which working nodes 103 participate in this password cracking operation, and calculate the number of working nodes participating in the password cracking operation, represented by N1. At the same time, for each working node 103 participating in the password cracking operation, the number of sub-working nodes under it will also be determined, represented by N2.
[0072] S302: Calculate the password intervals allocated to each sub-working node under each working node participating in the password cracking operation according to the total number of password spaces, the working nodes participating in the password cracking operation, the number of working nodes participating in the password cracking operation, and the number of sub-working nodes under each working node participating in the password cracking operation.
[0073] In this embodiment, based on the total number of password spaces N, the number of working nodes N1 participating in the password cracking operation, and the number of sub-working nodes N2 under each working node participating in the password cracking operation, the task distribution module 1023 calculates the password interval assigned to each sub-working node 103. In this way, each sub-working node will be responsible for cracking a part of the password, thereby ensuring that the entire cracking task can be carried out efficiently.
[0074] In this embodiment, the calculation of the password interval allocated to each sub-working node is described as follows:
[0075] The password interval assigned to the first child work node under the first work node is [0, N / (N1*N2)].
[0076] The password interval assigned to the second child work node under the first work node is [N / (N1*N2), 2N / (N1*N2)].
[0077] By analogy, the password interval assigned to the i-th child worker node (on any worker node) is [(i-1)N / (N1*N2), iN / (N1*N2)], where i ranges from 1 to N1*N2. Each worker node under each worker node will get a unique, non-overlapping password interval. When N is not divisible by the product of N1 and N2, the last one or several child workers will need to process additional passwords, and the number of these additional passwords will be the result of N modulo N1*N2.
[0078] In this embodiment, the lightweight task scheduling module 1021 allocates each of the sub-password cracking tasks to different working nodes 103 in the following manner:
[0079] (1) According to the password interval allocated to each sub-working node, the sub-password cracking task is allocated to the task waiting queue of the corresponding working node 103 .
[0080] (2) According to the working status information of each working node fed back by the device management module 1022, the task allocation is adjusted dynamically in real time.
[0081] In this embodiment, illustratively, if a certain work node 103 is overloaded or fails, the lightweight task scheduling module 1021 will suspend the assignment of sub-password cracking tasks to the work node 103, and reallocate the sub-password cracking tasks and the corresponding password intervals on the work node 103 to other idle or low-load work nodes. When a new work node 103 joins the cluster, the device management module 1022 will promptly notify the lightweight task scheduling module 1021, and the lightweight task scheduling module 1021 will evaluate the performance and resource status of the new work node 103, and consider its joining in the subsequent task allocation to ensure that the new work node can give full play to its effectiveness. If the work node 103 exits the cluster due to a fault, a failure to execute a task, or other reasons, the device management module 1022 will immediately notify the lightweight task scheduling module 1021, and the lightweight task scheduling module 1021 will quickly identify and process the tasks on the exiting work node 103, and reallocate these tasks to other available work nodes 103 to ensure the continuity and integrity of task execution. In addition, the lightweight task scheduling module 1021 also considers factors such as task priority, execution time, and resource requirements to ensure that the task can be completed according to the predetermined schedule and quality requirements.
[0082] In this embodiment, the lightweight task scheduling module 1021 will continuously monitor the load balancing status of the cluster. If it is found that some working nodes 103 are overloaded and other working nodes 103 are relatively idle, the lightweight task scheduling module 1021 will actively adjust the task allocation and migrate some tasks from high-load nodes to low-load nodes to achieve load balancing and improve the overall efficiency of the cluster. When executing a task, the working node 103 will regularly report the execution status and progress of the task to the lightweight task scheduling module 1021, and the lightweight task scheduling module 1021 will record this information so that the task can be adjusted or restored when necessary. For example, if a task fails to execute, the lightweight task scheduling module 1021 can reallocate the task based on the recorded information.
[0083] In this embodiment, when the user needs to view the status of each working node 103, the working node 103 sends its working status information to the client 101 through the scheduling node 102. When some working nodes 103 in the cluster are too many tasks or some working nodes 103 slow down due to heat dissipation problems, resulting in unbalanced load in the cluster, the lightweight task scheduling module 1021 will automatically load balance the backlog of tasks. In this way, the scheduling node 102 ensures the continuous execution of tasks, efficient use of resources, and overall performance of the cluster by monitoring the status information of the working nodes 103 in real time, dynamically adjusting the task allocation strategy, optimizing load balancing, and recording the task execution status and progress.
[0084] In this embodiment, the lightweight decryption task division and scheduling system further includes a display module for displaying the working status information of each working node, the progress of the password cracking operation, and the completion status of the password cracking.
[0085] In this embodiment, an optional cracking task division module 1032 is also deployed on the working node 103. The cracking task division module 1032 distributes the assigned sub-password cracking tasks to different sub-working nodes under its working node 103 in batches according to the sub-password cracking tasks assigned to its working node 103, so that they can perform password cracking operations in parallel.
[0086] In this embodiment, the password cracking module 1031 is used to perform password cracking operations according to the sub-password cracking tasks assigned to its working node 103, including: according to the sub-password cracking tasks assigned to its working node 103 and the password intervals assigned to different sub-working nodes under its working node 103, respectively execute the password cracking operations of the corresponding sub-password cracking tasks, and feed back the password cracking results to the scheduling node 102.
[0087] In this embodiment, when the working node 103 receives a sub-password cracking task from the scheduling node 102, the password cracking module 1031 will start, perform the password cracking operation according to the assigned password interval, record the password cracking results, and feed back these results to the client 101 through the scheduling node 102. The cracking task division module 1032 is responsible for further subdividing the sub-password cracking tasks assigned to its working node 103 into smaller batches, and assigning these batches to different sub-working nodes under the working node 103, so that each sub-working node performs the password cracking operation in parallel according to the assigned password interval. In this way, through refined task division and scheduling, the system can ensure that each working node 103 can efficiently complete its assigned tasks, thereby increasing the speed of the entire password cracking process and reducing the resource burden of the system.
[0088] In this embodiment, after receiving the sub-password cracking task assigned by the scheduling node 102, the working node 103 further divides the task according to the task requirements. For example, for tasks that need to be executed on the FPGA board, the working node 103 will distribute the tasks in batches to different chips on the FPGA board for calculation according to the specified algorithm number and the number of chips on the FPGA board. This task division method can give full play to the advantages of hardware resources and improve computing efficiency.
[0089] In this embodiment, the system first selects the task type (such as password cracking task, hardware detection task or performance test task) specified by the user through the client 101, and divides and schedules the tasks according to the different task types. The hardware detection task and the performance test task will not affect the execution of the password cracking task, and can be carried out in parallel to make full use of cluster resources. Among them, the cluster is composed of a scheduling node 102 and a working node 103.
[0090] In this embodiment, if Figure 4 As shown, it is a structural diagram of the local deployment mode of the lightweight decryption task division and scheduling system in an embodiment of the present invention. Figure 5 As shown, it is a structural diagram of the distributed deployment mode of the lightweight decryption task division scheduling system in the embodiment of the present invention. The scheduling node 102 communicates with the client 101 and each working node 103 in a manner including: inter-process communication (IPC) or remote procedure call communication (RPC), so that the lightweight decryption task division scheduling system provides two modes of local deployment and distributed deployment. Users can flexibly select and adjust the deployment mode according to actual needs, and can easily achieve horizontal expansion. Regardless of whether the cluster is executing the password cracking task, resources can be automatically adjusted.
[0091] In this embodiment, IPC (Inter-Process Communication) represents inter-process communication. The client 101, the scheduling node 102, and the working node 103 are all connected together through "IPC", which means that they exchange data through inter-process communication, realizing the local deployment mode. Figure 4 As shown in Figure 1, its implementation is similar to the network mode, but data transmission is changed from network communication to inter-process communication, which further improves the speed of task division and scheduling. Since communication occurs locally, transmission delay is greatly reduced, which can achieve more efficient task processing, especially for high-intensity computing tasks that require fast response.
[0092] In this embodiment, RPC (Remote Procedure Call) is a remote procedure call communication, which is a computer communication protocol that allows a program on one computer to call a program (or service) on another computer through a network and obtain a return value, thereby realizing a distributed deployment mode. Figure 5 As shown in the figure, in this process, the caller (client) is just like calling a local service, and does not need to care about the details of the underlying network communication. RPC shields the difference between remote calls and local calls, and hides the complexity of the underlying network communication, allowing developers to focus more on the implementation of business logic.
[0093] In this embodiment, the lightweight decryption task division and scheduling system of the present invention has the following advantages:
[0094] (1) Support the collaboration of multiple hardware resources (such as CPU, FPGA, GPU, etc.) to improve computing efficiency.
[0095] (2) The lightweight decryption task division and scheduling system can easily achieve horizontal expansion and supports both local deployment and distributed deployment modes. Regardless of whether the cluster is performing password cracking tasks, users can flexibly select and adjust the deployment method according to actual needs.
[0096] (3) In the lightweight decryption task division and scheduling system, during the data transmission process between the client, scheduling node, and working node, data compression technology is used to compress the data before data transmission, thereby reducing the overhead of a single transmission and improving communication efficiency.
[0097] (4) The lightweight decryption task division and scheduling system will regularly back up key data generated during the execution of the decryption task (such as the intermediate results generated during the decryption process) to prevent data loss due to work node failure or other abnormal situations.
[0098] (5) During the task execution process, if the lightweight decryption task division and scheduling system encounters a working node failure or other problems that cause the task to fail, it can monitor the status of the failed node in real time and reallocate the task to the working node that has recovered after the working node is restored.
[0099] (6) The lightweight decryption task division and scheduling system can cope with hardware failures or other problems during task execution. When a working node fails, the system will transfer the failed task to other idle working nodes or working nodes with shorter task queues for processing.
[0100] (7) The lightweight decryption task division and scheduling system also provides a task monitoring interface, which displays the task execution status, progress, load and other information in real time, so as to facilitate operation and maintenance personnel or management personnel to track and manage the tasks in real time.
[0101] (8) The lightweight decryption task division scheduling system also provides a function for shutting down task division, which can be accomplished by simply deleting the time_slice option in the configuration file.
[0102] It is worth noting that the lightweight decryption task division scheduling system of the present invention, the lightweight task division module deployed on the client divides the total password cracking task into several sub-password cracking tasks, and sends each sub-password cracking task to the scheduling node, and the lightweight task scheduling module deployed on the scheduling node assigns each sub-password cracking task to different working nodes, executes the password cracking operation in parallel, and feeds the password cracking result back to the client through the scheduling node, thereby optimizing the computing resource utilization and task allocation in the cracking process through refined task division and scheduling. The system maximizes parallel computing power and improves the decryption speed through efficient task splitting and scheduling, ensures that in a large-scale concurrent computing environment, the task priority can be adjusted in real time, avoids waste of resources, and can meet the needs of large-scale password cracking tasks. Its flexibility and efficiency can adapt to a variety of hardware platforms (such as CPU, GPU, FPGA), realize efficient decryption task processing, and have strong fault tolerance, ensuring stable and efficient operation in the face of complex decryption tasks.
[0103] Furthermore, the lightweight decryption task division and scheduling system of the present invention incorporates lightweight design throughout the entire task division process, which makes it possible to efficiently complete task allocation and monitoring by simply allocating priority and load balancing mechanisms without complex calculations for task distribution of scheduling nodes. This design ensures efficient operation of the system, and can reduce the system's resource consumption, management complexity, and operating costs while ensuring cracking efficiency, in line with the lightweight and simplified design principles, providing users with a more flexible and efficient password cracking solution.
[0104] To facilitate those skilled in the art to understand the lightweight decryption task division and scheduling system provided in the embodiment of the present application, the following will be further explained in conjunction with the code:
[0105] The pseudo code of client 101 is as follows:
[0106] defremote_code: user-specified task type;
[0107] if is a password cracking task;
[0108] subtasks = split_tasks_by_user_define (task) # divide the total password cracking task according to the user-defined task division program;
[0109] result = exec (subtasks) #Specify user-defined tasks;
[0110] return result#Send the password cracking result on the working node back to the client;
[0111] if__name__=="__main__": Determine whether the current script is running as the main program;
[0112] task = large_task_data #Assume that large_task_data is a large task data set;
[0113] client=Client('tcp: / / scheduler-address:port')#Initialize the client and connect to the scheduling node;
[0114] if is a password cracking task
[0115] subtasks = split_tasks_by_cost_time(task) #divide tasks according to the preset task duration;
[0116] futures = client.submit(remote_code, subtask)#Submit the task and the command to be executed remotely to the scheduling node according to the number of working nodes;
[0117] result = as_completed(futures) #Receive the result returned by the working node;
[0118] The pseudo code of the working node of the lightweight task division module is as follows:
[0119] comm=connect('tcp: / / scheduler-address:port')#Connect to the scheduling node
[0120] while true: loops are often used by worker nodes to continuously listen for tasks or instructions from the scheduling node; once a worker node receives a task or data from the scheduling node, it processes the task or data and then waits for the next task or instruction to arrive;
[0121] remote_code, subtask = comm.read() reads the remote code and data from the connection;
[0122] run(remote_code) runs the remote code and executes the user-defined module.
[0123] When the task is a password cracking task, the client 101 divides the task into multiple sub-password cracking tasks with preset task durations according to the algorithm number and theoretical performance in the configuration file. The execution duration can be adjusted through the time_slice option in the configuration file. After the task division is completed, the client 101 submits these sub-password cracking tasks to the scheduling node 102, which further distributes them to the working node 103 for processing according to system resources and task priorities to ensure efficient execution of the task.
[0124] The pseudo code of the scheduling node 102 is as follows:
[0125] Client_comm = accept() accepts the client's connection;
[0126] remote_code, subtask = client_comm.read() reads the remote code and data from the connection;
[0127] Worker_comm = accept() to get the connection of the working node
[0128] while true: loops are often used in worker nodes to continuously listen for tasks or instructions from scheduling nodes;
[0129] worker_comm.write(remote_code,subtask) transfers the remote code and data to the working node
[0130] If the execution is successful:
[0131] Break jumps out of the current loop;
[0132] Taking the password cracking task using FPGA as an example, after the client 101 divides the total password cracking task through the lightweight task division module 1012, the divided sub-password cracking task is submitted to the scheduling node 102, and the scheduling node 102 submits the sub-password cracking task to the corresponding working node 103 according to the first-come-first-served scheduling strategy. If a new working node 103 joins the cluster during this period, the new working node 103 will not be assigned a task, and will only be assigned a task in the next round of task allocation. Similarly, if a working node 103 exits the cluster, the scheduling node 102 will automatically recognize that a working node 103 has exited the cluster. After the sub-password cracking task is submitted to the scheduling node 102, the scheduling node 102 serializes the data required for the task and the code to be executed through the python pickle package, and then sends it to the corresponding working node 103, and the working node 103 executes the password cracking program designed by the user for a single device to execute.
[0133] To facilitate those skilled in the art to understand the lightweight decryption task division and scheduling system provided in the embodiment of the present application, the following further explains the installation and uninstallation methods of the lightweight decryption task division and scheduling system:
[0134] Local deployment mode such as Figure 4 As shown in the figure, users only need to copy the program file to the / opt directory and execute the / install.sh script, and the system will automatically complete the installation configuration. The entire installation process takes up very few resources and does not require complex configuration or dependencies, ensuring a fast and efficient deployment experience. After the installation is complete, users can start using the system immediately. For uninstallation, users only need to execute the / uninstall.sh script to completely uninstall all programs. If you only need to uninstall the working node on a specific device, users can specify the device to uninstall through the . / uninstall_worker.sh <device Id> command, without having to process other nodes, further improving the accuracy and flexibility of the operation.
[0135] Distributed deployment mode such as Figure 5As shown in the figure, users need to copy the worker node program to the server that needs to perform computing tasks. Next, users need to select a machine as a scheduling node and a client, and execute the corresponding installation scripts on these machines respectively: first run . / install_scheduler.sh on the server where the scheduling node is located, then execute . / install_workers.sh on the worker node, and finally execute the relevant program on the client machine. The entire installation process is simple and clear. Through these lightweight steps, users can quickly configure and start the distributed computing system, minimizing the configuration complexity and operation burden. When uninstalling the program, users only need to execute . / uninstall.sh on all nodes. If the user only wants to uninstall a certain worker node, just execute the . / uninstall_workers.sh command on the server of the node. If you need to uninstall a specific device of a worker node, the user only needs to use the . / uninstall_worker.sh <device Id> command to operate, which greatly improves the accuracy and flexibility of the operation.
[0136] The installation and uninstallation process of this lightweight decryption task division and scheduling system has no complex dependencies, and each step has been carefully designed to ensure that users can complete the operation quickly and conveniently, minimizing the system burden. Users do not need to deal with cumbersome configuration files or configuration items, nor do they need to worry about the underlying resource dependencies, ensuring the rapid deployment and efficient operation of the system.
[0137] It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" represent examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0138] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, ab, ac, bc or abc, where a, b, c can be single or multiple.
[0139] Figure 6 : is a flowchart of a lightweight decryption task division and scheduling method provided in an embodiment of the present application. Figure 6 As shown, the lightweight decryption task division and scheduling method is applied to the lightweight decryption task division and scheduling system as described above, and the lightweight decryption task division and scheduling method includes:
[0140] S601: A lightweight task division module is deployed on the client; the lightweight task division module is used to receive a created general password cracking task, divide the general password cracking task into a plurality of sub-password cracking tasks, and send each of the sub-password cracking tasks to a scheduling node.
[0141] S602: A lightweight task scheduling module is deployed on the scheduling node; the lightweight task scheduling module is used to assign each of the sub-password cracking tasks to different working nodes.
[0142] S603: A password cracking module is deployed on each of the working nodes; the password cracking module is used to perform password cracking operations according to the sub-password cracking tasks allocated to the working node, and feed back the password cracking results to the client through the scheduling node.
[0143] It should be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above method embodiment, and for the sake of brevity, it will not be repeated here.
[0144] It should also be understood that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional module in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.
[0145] Figure 7 700, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the lightweight decryption task division and scheduling method as described above. Figure 7As shown, the electronic terminal 700 includes: at least one processor 701, a memory 702, at least one network interface 703 and a user interface 705. The various components in the device are coupled together through a bus system 704. It can be understood that the bus system 704 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 704 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 7 In the specification, various buses are labeled as bus systems.
[0146] The user interface 705 may include a display, a keyboard, a mouse, a trackball, a click gun, keys, buttons, a touch pad or a touch screen.
[0147] It is understood that the memory 702 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), which is used as an external cache. By way of exemplary but not limiting explanation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM). The memory described in the embodiments of the present invention is intended to include but is not limited to these and any other suitable categories of memory.
[0148] The memory 702 in the embodiment of the present invention is used to store various types of data to support the operation of the electronic terminal 700. Examples of these data include: any executable program used to operate on the electronic terminal 700, such as an operating system 7021 and an application 7022; the operating system 7021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application 7022 can include various applications, such as a media player (Media Player), a browser (Browser), etc., for implementing various application services. The lightweight decryption task division scheduling method provided in the embodiment of the present invention can be included in the application 7022.
[0149] The method disclosed in the above embodiment of the present invention can be applied to the processor 701, or implemented by the processor 701. The processor 701 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 701 or the instruction in the form of software. The above processor 701 may be a general processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 701 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiment of the present invention. The general processor 701 may be a microprocessor or any conventional processor, etc. In combination with the steps of the accessory optimization method provided in the embodiment of the present invention, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0150] In an exemplary embodiment, the electronic terminal 700 may be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD) to execute the aforementioned method.
[0151] According to the method provided in the embodiment of the present application, the present application also provides a computer program product, which includes: a computer program code, when the computer program code is run on a computer, the computer executes Figure 2 , Figure 3 , Figure 6 A method according to any one of the embodiments shown.
[0152] According to the method provided in the embodiment of the present application, the present application also provides a computer-readable storage medium, which stores a program code, and when the program code is run on a computer, the computer executes Figure 2 , Figure 3 , Figure 6 A method according to any one of the embodiments shown.
[0153] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program and / or a computer. By way of illustration, both applications running on a computing device and a computing device can be components. One or more components may reside in a process and / or an execution thread, and a component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).
[0154] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0155] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0156] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0157] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0158] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0159] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When loading and executing computer program instructions (programs) on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. Computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media integrations. Available media may be magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., high-density digital video discs (DVDs), or semiconductor media (e.g., solid state disks (SSDs), etc.).
[0160] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
[0161] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0162] In summary, the present application provides a lightweight decryption task division scheduling system, method, medium and terminal. The lightweight task division module deployed on the client divides the total password cracking task into several sub-password cracking tasks, and sends each sub-password cracking task to the scheduling node. The lightweight task scheduling module deployed on the scheduling node assigns each sub-password cracking task to different working nodes, executes the password cracking operation in parallel, and feeds back the password cracking result to the client through the scheduling node, thereby optimizing the computing resource utilization and task allocation in the cracking process through refined task division and scheduling. The system maximizes parallel computing capabilities and improves the decryption speed through efficient task splitting and scheduling, ensuring that in a large-scale concurrent computing environment, the task priority can be adjusted in real time, avoiding resource waste, and meeting the needs of large-scale password cracking tasks. Its flexibility and efficiency can adapt to a variety of hardware platforms (such as CPU, GPU, FPGA), realize efficient decryption task processing, and have strong fault tolerance to ensure stable and efficient operation in the face of complex decryption tasks. Therefore, the present application effectively overcomes the various shortcomings in the prior art and has a high industrial utilization value.
[0163] The above embodiments are merely illustrative of the principles and effects of the present application and are not intended to limit the present application. Anyone familiar with the technology may modify or change the above embodiments without violating the spirit and scope of the present application. Therefore, all equivalent modifications or changes made by a person of ordinary skill in the art without departing from the spirit and technical ideas disclosed in the present application shall still be covered by the claims of the present application.
Claims
1. A lightweight decryption task division and scheduling system, characterized in that: include: Client, scheduling node and multiple working nodes; The scheduling node is respectively connected to the client and each working node in communication; A lightweight task division module is deployed on the client; The lightweight task division module is used to receive the created general password cracking task, divide the general password cracking task into a plurality of sub-password cracking tasks, and send each of the sub-password cracking tasks to the scheduling node; A lightweight task scheduling module is deployed on the scheduling node; the lightweight task scheduling module is used to assign each of the sub-password cracking tasks to different working nodes; A password cracking module is deployed on each of the working nodes; the password cracking module is used to perform password cracking operations according to the sub-password cracking tasks assigned to its working node, and feed back the password cracking results to the client through the scheduling node.
2. The lightweight decryption task division and scheduling system according to claim 1 is characterized in that: The method of dividing the overall password cracking task into a plurality of sub-password cracking tasks includes: Parsing the received total password cracking task to obtain password cracking parameter data; wherein the password cracking parameter data includes a combination of one or more of a secret string file, a mask file, and a character set; Calculating the total number of password spaces required to perform the total password cracking task according to the password cracking parameter data; According to the total password space quantity, and based on a preset algorithm rate and a preset task duration, the total password cracking task is divided into a plurality of sub-password cracking tasks.
3. The lightweight decryption task division and scheduling system according to claim 2 is characterized in that: The scheduling node is also equipped with a task distribution module, which is used to perform the following steps: Determine the working nodes involved in the password cracking operation, the number of working nodes involved in the password cracking operation, and the number of sub-working nodes under each working node involved in the password cracking operation according to the number of sub-password cracking tasks and the working status information of each working node; According to the total number of password spaces, the working nodes participating in the password cracking operation, the number of working nodes participating in the password cracking operation and the number of sub-working nodes under each working node participating in the password cracking operation, the password intervals allocated to each sub-working node under each working node participating in the password cracking operation are calculated.
4. The lightweight decryption task division and scheduling system according to claim 3 is characterized in that: A device management module is also deployed on the scheduling node, and the device management module is used to monitor the working status information of each working node and feed back the working status information of each working node to the lightweight task scheduling module and the task distribution module.
5. The lightweight decryption task division and scheduling system according to claim 1 is characterized in that: The working node is also deployed with a cracking task division module, which distributes the assigned sub-password cracking tasks to different sub-working nodes under its working node in batches according to the sub-password cracking tasks assigned to its working node, so that they can perform password cracking operations in parallel.
6. The lightweight decryption task division and scheduling system according to claim 3 is characterized in that: The password cracking module performs the password cracking operation according to the sub-password cracking task assigned to its working node in the following manners: According to the sub-password cracking tasks assigned to its working node and the password intervals assigned to different sub-working nodes under its working node, the password cracking operations of the corresponding sub-password cracking tasks are respectively executed, and the password cracking results are fed back to the scheduling node.
7. The lightweight decryption task division and scheduling system according to claim 1 is characterized in that: A user interaction module is also deployed on the client; the user interaction module is used to obtain cracking task data input by the user, create a general password cracking task according to the cracking task data input by the user, and send the general password cracking task to the lightweight task division module.
8. A lightweight decryption task division and scheduling method, characterized in that: Applied to the lightweight decryption task division and scheduling system as claimed in any one of claims 1 to 7, the lightweight decryption task division and scheduling method comprises: A lightweight task division module is deployed on the client; the lightweight task division module is used to receive the created general password cracking task, divide the general password cracking task into a plurality of sub-password cracking tasks, and send each of the sub-password cracking tasks to the scheduling node; A lightweight task scheduling module is deployed on the scheduling node; the lightweight task scheduling module is used to assign each of the sub-password cracking tasks to different working nodes; A password cracking module is deployed on each of the working nodes; the password cracking module is used to perform password cracking operations according to the sub-password cracking tasks allocated to its working node, and feed back the password cracking results to the client through the scheduling node.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the lightweight decryption task division and scheduling method as claimed in claim 8 is implemented.
10. An electronic terminal comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the lightweight decryption task division and scheduling method as claimed in claim 8.