python3 md5,Pythonmd5
这篇文章主要介绍了基于大蟒的讯息摘要5脚本,通过线模块自动生成字典,使用排列()函数,对字典进行全排列,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
目录
开发思路讯息摘要5碰撞函数主函数完整代码脚本
开发思路
1、通过线模块自动生成字典;
2、使用排列()函数,对字典进行全排列;
3、使用讯息摘要5模块对全排列的字典进行转换;
4、使用了多线程,分别对5~18位字符串进行讯息摘要5碰撞,以防止时间太长(虽然现在也要很久)。
md5碰撞函数
def md5_poj(self,md5_value,k):
if len(md5_value)!=32:
打印("错误")
返回
md5_value=md5_value.lower()
#排列()全排列
对于排列中项目(所有字母,k):
项目=""。连接(项目)
if item==hongrisec@2019:
打印(项目)
if md5(item.encode()).hexdigest()==md5_value:
打印( \n success: md5_value ==项)
自我. mdfive=1
其中if len(md5_value)!=32 判断所输入的讯息摘要5是否为32位的
主函数
定义主(自身):
NT_md5=input(请填写MD5:")
开始时间=时间()
t_list=[]
打印(正在查询.)
# 添加线程
t_first=线程. Thread(target=self.md5_first,args=(NT_md5,)
t_first.daemon=1
t_first.start()
对于范围(5,18):中的k
t=进程(target=self.md5_poj,args=(NT_md5,k))
# t=线程Thread(target=self.md5_poj,args=(NT_md5,k))
t.daemon=1 #守护程序
t_list.append
# 启动所有线程
对于t_list:中的我
i.start()
# 当__mdfive==1时结束所有线程
而1:
如果自我. mdfive:
破裂
打印( \n查询结束!)
打印(使用了%f秒%(time() - start_time))
完整代码脚本
导入线程
从多重处理导入流程
从摘要算法导入讯息摘要5
从循环器导入排列
从字符串导入ascii _字母,数字,ascii _小写,ascii _大写
从时间导入时间
all_letters=ascii_lowercase 。@ 数字
MDfive:类
def __init__(self):
自我. mdfive=0
def md5_poj(self,md5_value,k):
if len(md5_value)!=32:
打印("错误")
返回
md5_value=md5_value.lower()
#排列()全排列
对于排列中项目(所有字母,k):
项目=""。连接(项目)
if item==hongrisec@2019:
打印(项目)
if md5(item.encode()).hexdigest()==md5_value:
打印( \n success: md5_value ==项)
自我. mdfive=1
# 判断讯息摘要5是否与空匹配
def md5_first(self,md5_firstvalue):
if len(md5_firstvalue)!=32:
elif MD5 _ first value== 31 D6 cf E0 d 16 AE 931 b 73 c 59d 7 E0 c 089 c 0 :
打印( \n密码为空!)
自我. mdfive=1
定义主(自身):
NT_md5=input(请输入MD5:")
开始时间=时间()
t_list=[]
打印(正在查询.)
# 添加线程
t_first=线程. Thread(target=self.md5_first,args=(NT_md5,)
t_first.daemon=1
t_first.start()
对于范围(5,18):中的k
t=进程(target=self.md5_poj,args=(NT_md5,k))
# t=线程Thread(target=self.md5_poj,args=(NT_md5,k))
t.daemon=1 #守护程序
t_list.append
# 启动所有线程
对于t_list:中的我
i.start()
# 当__mdfive==1时结束所有线程
而1:
如果自我. mdfive:
破裂
打印( \ n查询结束!)
Print(耗时%f秒 %(time()-start_time))
if __name__==__main__:
MDfive()。主()
这就是这篇关于基于python的MD5脚本的文章。关于pythonMD5脚本的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望你以后能支持风行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。