Python 多线程密码字典生成脚本
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)
原文地址: https://www.cveoy.top/t/topic/lh2K 著作权归作者所有。请勿转载和采集!