Python 多线程密码字典生成脚本

该脚本使用 Python 编写,旨在生成密码字典并将其存储在一个 txt 文件中。它使用多线程技术,可以更快地生成较大的字典。

代码实现

import threading

class PasswordGenerator:
    def __init__(self, filename):
        self.filename = filename
        self.characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+{}[]|;:,.<>/?'
        self.length = 8
        self.thread_count = 4

    def generate_passwords(self):
        threads = []
        for i in range(self.thread_count):
            t = threading.Thread(target=self._generate_passwords, args=(i,))
            threads.append(t)
            t.start()

        for t in threads:
            t.join()

    def _generate_passwords(self, thread_num):
        total_threads = self.thread_count
        with open(self.filename, 'a') as f:
            for i in range(thread_num, len(self.characters), total_threads):
                prefix = self.characters[i]
                self._generate_passwords_helper(f, prefix, self.length - 1)

    def _generate_passwords_helper(self, f, prefix, length):
        if length == 0:
            f.write(prefix + '\n')
            return

        for c in self.characters:
            self._generate_passwords_helper(f, prefix + c, length - 1)

使用方法

  1. 将以上代码复制到一个名为 password_generator.py 的文件中。
  2. 在你的代码中导入 password_generator 模块。
  3. 创建一个 PasswordGenerator 实例,指定一个文件名来存储生成的密码字典。
  4. 调用 generate_passwords 方法来生成密码字典。

示例代码:

import password_generator

pg = password_generator.PasswordGenerator('passwords.txt')
pg.generate_passwords()

生成的密码字典将保存在名为 passwords.txt 的文件中。


原文地址: https://www.cveoy.top/t/topic/lh2N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录