吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7972|回复: 8
收起左侧

MD5加盐解密过程有没有人能教一下怎么做?

[复制链接]
纪舆不记 发表于 2019-10-24 14:12
25吾爱币
例如:明文D7Q进行MD5加密时,我们用D7Qruofan
最终32位MD5密文是
faa5e4f6b580ad17c69450b70feddebe
这个是我关注的一个号发的内容 想知道这种应该怎么去做解密?

最佳答案

查看完整内容

MD5是摘要算法 不存在“解密”的说法,所谓的解密就是暴力破解, 暴力破解也用好多种方法,查表应该是最快的,不过需要事先准备彩虹表。 像你这种如果盐值固定(ruofan),且加密字符数量很少的话。生成的彩虹表不会很大。 或者用hashcat之类的工具来跑字典或者掩码之类的,速度也非常快。一块gtx970 显卡跑md5 速度可以到100M/s(还是1000M/s)忘了

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

smldhz 发表于 2019-10-24 14:12
MD5是摘要算法 不存在“解密”的说法,所谓的解密就是暴力破解,
暴力破解也用好多种方法,查表应该是最快的,不过需要事先准备彩虹表。
像你这种如果盐值固定(ruofan),且加密字符数量很少的话。生成的彩虹表不会很大。
或者用hashcat之类的工具来跑字典或者掩码之类的,速度也非常快。一块gtx970 显卡跑md5 速度可以到100M/s(还是1000M/s)忘了
smldhz 发表于 2019-10-24 15:08
如果不理解“摘要算法”的意思,就想象一下,不管多大的文件(数据)生成的md5值都是32位
不管是1kb还是10TB都是32位,假如存在“解密”这一说法,岂不是能从32位字符解密出10T的内容?那rar 7z zip这些压缩算法都得跪下叫爸爸。
bester 发表于 2019-10-24 19:41
smldhz 发表于 2019-10-24 15:03
MD5是摘要算法 不存在“解密”的说法,所谓的解密就是暴力破解,
暴力破解也用好多种方法,查表应该是最快 ...

能否请大佬解释一下盐值和彩虹表是个什么意思?
smldhz 发表于 2019-10-24 20:02
本帖最后由 smldhz 于 2019-10-24 20:20 编辑

@bester 加盐(salt)就是在原始待加密字符前/后附加部分随机字符,扩充原始字符长度,更难被破解。
比如 用户注册的密码是123456,网站入库的时候先生成一个随机盐值(salt) 比如说aH3Jz1 附加到用户密码后面然后再做md5,再把盐值和md5后的密码一起保存到数据库
用户登录的时候,先用用户名从数据库中检索出盐值(salt)再跟用户提交的密码拼接做md5,再跟数据库中保存的md5 hash比较,相同就表示密码正确
这样虽然用户在使用中仍然是弱密码123456 但是在数据库中就从弱密码md5(123456)变成了强密码md5(123456aH3Jz1),破解前者估计只需要几分钟,破解后者得好几年(前提是salt值不泄露)


彩虹表你这么理解
比如我要破解一个md5 原文是6位数字,
正常破解的话,我需要从000000到999999 都做一次md5计算,然后计算结果跟拿到的hash比较,如果相同,那么就表示爆破/碰撞成功了。
但是md5计算是需要时间的,1次2次你没感觉,但是几百万次几亿次速度变化就很明显了,
所以有人就想到了,反正我要跑所有6位数字,与其每次跑都计算一次,不如提前计算好,那下次破解的时候就不需要计算,直接比较就好了。
于是就发明了彩虹表。你可以想象彩虹表是这么一个格式
000000:670b14728ad9902aecba32e22fa4f6bd
111111:96e79218965eb72c92a549dd5a330112
222222:e3ceb5881a0a1fdaad01296d7554868d
333333:1a100d2c0dab19c4430e7d73762b3423
………………
999999:52c69e3a57331081823331c4e69d3f2e

下次我要破解比如1a100d2c0dab19c4430e7d73762b3423 我只需要查一下表中是否有这个值
一查发现有
333333:1a100d2c0dab19c4430e7d73762b3423

就能知道答案是333333了。

总结一下,彩虹表就是一个拿空间换时间的破解方法。


补充一点,彩虹表这个东西是当年硬件计算速度低下时代的产物。
md5之类的算法很多情况下不会用彩虹表破解,局限比较大,比如多个hash,不确定的密码长度,不确定的密码字符范围,都会使得选表非常麻烦。
应该只有一些计算超级慢的算法还适合吧。现在GPU跑md5简直起飞。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
asq56747277 + 1 + 1 谢谢@Thanks!
叶冰瑶 + 1 + 1 用心讨论,共获提升!

查看全部评分

tingge3322 发表于 2020-1-16 13:03
smldhz 发表于 2019-10-24 20:02
@bester 加盐(salt)就是在原始待加密字符前/后附加部分随机字符,扩充原始字符长度,更难被破解。
比如 用 ...

问下大佬。如果说已经知道salt的情况下,可以解密出明文嘛 。
smldhz 发表于 2020-1-16 13:09
tingge3322 发表于 2020-1-16 13:03
问下大佬。如果说已经知道salt的情况下,可以解密出明文嘛 。

散列算法没有“解密”这种说法,都是查表爆破。
加盐只是增加暴力破解的难度 本质上并没有改变加密方式,比如6位弱密码 +6位的盐 12位的随机字符 想要暴力破解难度就很大了,但是如果知道6位的盐,暴力破解6位弱密码速度还是比较快的。
如果密码本身就是多位数的复杂密码。知不知道盐区别不大。
tingge3322 发表于 2020-1-16 13:39
smldhz 发表于 2020-1-16 13:09
散列算法没有“解密”这种说法,都是查表爆破。
加盐只是增加暴力破解的难度 本质上并没有改变加密方式 ...

谢谢大佬!--我想问下怎么把盐值的MD5从 原来的MD5里面脱离出来呢。。求告知!我的意思是,不扫描盐值,只扫抛开盐值之后的MD5,。。如果不能分离。那还是得一起扫呀。
  比如 明文密码是111111 盐值 aaaaaa !他们加密之后混合在一起了呀。。怎么样才能不扫aaaaa的 只扫前面的
smldhz 发表于 2020-1-16 14:22
tingge3322 发表于 2020-1-16 13:39
谢谢大佬!--我想问下怎么把盐值的MD5从 原来的MD5里面脱离出来呢。。求告知!我的意思是,不扫描盐值, ...

分离不开的,如果可以分离,你想想 我是不是可以把abcdefg这个7位密码分离成单独的7个 a b c d e f g 一位密码来破解不是快的飞起了么。
快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-7-7 22:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表