暴力破解MD5密码[单线程]

原理:

加密字典文件中的明文,比对输入的md5密文,如果相等那么这个明文就是密码

源码:

#!/usr/bin/python3
import sys
import hashlib 
counter = 1 #记录密码个数
pass_in = input("Please enter the MD5 Hash:");
pwfile = input("please enter the password file name:");
try:
    pwfile = open(pwfile,"r");
except:
    print("\nFile Not Found.");
    quit()

for password in pwfile.readlines():
    #加密从文件中读到的原文
    filemd5 = hashlib.md5(password.encode(encoding="UTF-8").strip()).hexdigest();
  
    print ("MD5:%s : Trying password number %d :%s " %(filemd5,counter,password.strip()));
    counter+=1;
    #比对 字典文件中加密的原文md5值和输入的md5是否相等 如果相等跳出循环 输出原文
    if pass_in == filemd5:
        print("Match Found.\033[0;31mPassword is :%s \033[0m" %(password) );
        break;
else:print("\n Password Not Found");

运行结果:

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值