python - 有没有办法创建一个适用于一组项目的列表理解函数,移动到程序的下一部分,然后重复
问题描述
作为背景,这是我为一堂课制作的暴力密码破解程序。我的程序现在的问题是内存。我正在使用 itertools 的产品功能。创建一个和我一样大的列表已经关闭了我尝试过的每台计算机。如何创建一个将列表拆分为设置块并摆脱旧的已经散列并检查可能的密码的函数?我尝试使用简单的分块代码,但无法解决问题。
def main():
start1 = time.time()
totalLines = [0, 1, 2, 3, 4, 5, 6, 7]
correctHashes = readFile()
for numbers in range(1, 9, 1):
normal = ["".join(item) for item in itertools.product(totalList, repeat=numbers)]
passwords = [hashlib.md5(object1.encode()).hexdigest() for object1 in normal]
for number in totalLines:
for num in range(0, len(passwords)):
if passwords[num] == correctHashes[number]:
end = time.time()
print(normal[num] + "\t" + str(end - start1))
correctHashes.pop(number)
del totalLines[-1]
break
解决方案
推荐阅读
- python - Python中的正则表达式
- android - Android更改edittext的默认“粘贴”弹出文本颜色
- amazon-web-services - AWS ECS - 在一个 ALB 中注册多个 ECS 集群
- git - 让 Git 日志统计数据有自己的列?
- android - Flutter 应用程序:导航到下一个屏幕时需要终止屏幕
- python - 为什么 numpy 1.14 轮 float16 65504 到 65500
- python - 将数字转换为 csv 格式文件中的科学计数法
- android - 在我们自己的 Android 应用中存储检索到的联系人的最佳方式是什么?
- microsoft-graph-api - 使用 Graph API 发送邮件的限制
- excel - 在excel 2010中将数字的最后一位更改为0