Python-字典攻击实验
1.题目:
字典攻击
2.设计
通过导入itertools(用于操作迭代对象的函数)、datetime、hashlib(哈希函数,通过hash算法,变成固定长度的输出), 通过哈希算法,得到字典中关键的值。
代码部分:
import hashlib
import time
def generatelibary(library, length=8):
libararys = itertools.product(library,repeat=length)
dic = open(“paswordlirbarys.txt”,“w”,encoding=‘utf-8’)#写模式打开文件
for i in libararys:
dic.writelines(i)
dic.writelines("\n")
dic.close()
x = hashlib.md5(“111111”.encode(encoding=“utf-8”)).hexdigest()#hash算法存储密码
#202cb962ac59075b964b07152d234b70
print(x)
def dict_attack(path,password):
file = open(path)
for passwords in file:
#print(passwords)
passwords = passwords.split("\n")[0]
if password == hashlib.md5(passwords.encode(encoding=“utf-8”)).hexdigest():
print(“你的密码是&