LuckyTiger66 发表于 2020-3-18 15:42:43

Python rmd5加密可以反推原密碼嗎?

這是論壇上一個妹仔圖的程式片段,我們知道md5加密後是: 2a7cb47d40ec00865f48ced45b78c454
請問如何可以反推得知原本輸入密碼?謝謝{:5_92:}

def password():#程序加密
    print("加群讨论python学习")
    print("群号:873787325(没几个人)\n\n\n")
    while(1):
      pwd=input("输入密码:")
      m=hashlib.md5(pwd.encode("utf-8"))
      p=m.hexdigest()
      if p=="2a7cb47d40ec00865f48ced45b78c454":#md5加密
            menu()
      else:
            print("错误")

LuckyTiger66 发表于 2020-3-20 01:10:16

找到的答案除了暴力破解以外,因為是單向雜湊,所以無法解密,但彩虹表 (Rainbow table) 或許可以有機會推算出來。

LuckyTiger66 发表于 2020-3-20 01:12:18

MD5是单向哈希。无法解密。与解密MD5哈希最接近的事情是对预先生成的Rainbow表进行查找。
資料來源: https://www.codenong.com/1562064/ (关于python:解密MD5哈希)
http://www.ha97.com/4009.html ((總結)密碼破解之王:Ophcrack彩虹表(Rainbow Tables)原理詳解(附:120G彩虹表下載))

snaker 发表于 2020-3-20 08:24:28

解密后:873787325

XiaoPaiShen 发表于 2020-3-20 09:54:42

snaker 发表于 2020-3-20 08:24
解密后:873787325

你能解出 bdd9ce78f8858bbf04e5d0a918edf7b7 吗?

永恒的蓝色梦想 发表于 2020-3-20 10:02:33

873787325

有个网站叫cmd5,尽管我不知道结果对不对{:10_248:}

kirte 发表于 2020-3-20 16:27:25

你可以去掉加密函数,这是我故意的滑稽

snaker 发表于 2020-3-20 17:56:08

本帖最后由 snaker 于 2020-3-20 17:58 编辑

XiaoPaiShen 发表于 2020-3-20 09:54
你能解出 bdd9ce78f8858bbf04e5d0a918edf7b7 吗?

873787422


网上有MD5解密的网站,通过反向查询的密码能破解简单的字母数字组合

XiaoPaiShen 发表于 2020-3-21 02:06:14

snaker 发表于 2020-3-20 17:56
873787422




谢谢,看来MD5没有安全性可言了,如果加入特殊符号,还容易破解吗?

LuckyTiger66 发表于 2020-3-21 11:04:07

kirte 发表于 2020-3-20 16:27
你可以去掉加密函数,这是我故意的滑稽

感謝原作者提供的滑稽{:7_146:}

LuckyTiger66 发表于 2020-3-21 11:09:43

本帖最后由 LuckyTiger66 于 2020-3-21 11:10 编辑

snaker 发表于 2020-3-20 08:24
解密后:873787325

# 由于MD5模块在python3中被移除
# 在python3中使用hashlib模块进行md5操作
import hashlib

# 待加密信息
str = '873787325'
# 创建md5对象
hl = hashlib.md5()
qq = '2a7cb47d40ec00865f48ced45b78c454'
#更新hash对象的值,如果不使用update方法也可以直接md5构造函数内填写
#md5_obj=hashlib.md5("123456".encode("utf-8")) 效果一样
hl.update(str.encode("utf-8"))
print('MD5加密前为 :' + str)
print('MD5加密后为 :' + hl.hexdigest())
ifqq == hl.hexdigest():
    print('The same')

MD5加密前为 :873787325
MD5加密后为 :2a7cb47d40ec00865f48ced45b78c454
The same
驗證過後是沒錯的,謝謝你

LuckyTiger66 发表于 2020-3-21 11:13:02

snaker 发表于 2020-3-20 17:56
873787422




https://www.cmd5.com/ 可用

LuckyTiger66 发表于 2020-3-21 11:16:55

XiaoPaiShen 发表于 2020-3-21 02:06
谢谢,看来MD5没有安全性可言了,如果加入特殊符号,还容易破解吗?

盐(Salt),在密码学中,是指在散列之前将散列内容(例如:密码)的任意固定位置插入特定的字符串。这个在散列中加入字符串的方式称为“加盐”。其作用是让加盐后的散列结果和没有加盐的结果不相同,在不同的应用情景中,这个处理可以增加额外的安全性。

snaker 发表于 2020-3-21 14:30:51

XiaoPaiShen 发表于 2020-3-21 02:06
谢谢,看来MD5没有安全性可言了,如果加入特殊符号,还容易破解吗?

MD5不会被破解,只是通过穷举算出解密后的MD5值,然后对比加密后的值,有一样的就知道加密前是什么了,随机性太大

anzhexuan666 发表于 2022-2-23 17:20:15

XiaoPaiShen 发表于 2020-3-20 09:54
你能解出 bdd9ce78f8858bbf04e5d0a918edf7b7 吗?

是873787422吧
页: [1]
查看完整版本: Python rmd5加密可以反推原密碼嗎?