import threading

# 定义生成密码函数
def generate_password(charset, length, offset, number):
    f = open('password.txt', 'a+')
    for n in range(number):
        password = ''
        for i in range(length):
            password += charset[(offset + n) % len(charset)]
            offset += 1
        f.write(password + '
')
    f.close()

# 定义线程类
class PasswordThread(threading.Thread):
    def __init__(self, charset, length, offset, number):
        threading.Thread.__init__(self)
        self.charset = charset
        self.length = length
        self.offset = offset
        self.number = number

    # 重写run方法
    def run(self):
        generate_password(self.charset, self.length, self.offset, self.number)

# 定义生成密码字典的函数
def generate_password_library(charset, length, thread_num):
    char_len = len(charset)
    number = char_len ** length // thread_num

    threads = []
    offset = 0
    for i in range(thread_num):
        t = PasswordThread(charset, length, offset, number)
        threads.append(t)
        offset += number

    for t in threads:
        t.start()

    for t in threads:
        t.join()

# 主函数
if __name__ == '__main__':
    charset = '0123456789'
    length = 8
    thread_num = 8
    generate_password_library(charset, length, thread_num)

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

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

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