前言
-
hashlib模块
-
string模块
-
itertools模块
一、编程要求
编写一个能破解md5的程序
二、完整代码
from hashlib import md5
from string import ascii_letters,digits,punctuation
from itertools import permutations
import time
all=ascii_letters+digits+punctuation
def brute_md5(md5_value):
md5_value=md5_value.lower()
if len(md5_value)==32:
count=5
start=time.time()
while(1):
for item in permutations(all,count):
item="".join(item)
if md5(item.encode()).hexdigest()==md5_value:
end=time.time()
print(end-start)
print(item)
return
count+=1
else:
print("不是有效的md5值")
md5_value = input()
brute_md5(md5_value)
# 94c51f6f1eaa353