使用盐是否可能解密MD5哈希值?

9

我需要解密这个哈希密码:e59dc19f2a3a569417fa183696f91604,并且有盐值:4067。有可能用这些信息恢复密码吗?


你知道盐和哈希是如何应用的吗? - Ignacio Vazquez-Abrams
3
想一想:MD5哈希将任意长度的字符串转换成一个定长的字符串。仅此就可以告诉你,它是不可能被逆转回来的。为什么?因为有无限数量的字符串都可以哈希成相同长度的输出结果:哈希不是加密,它不能保留信息。 - Jon Kiparsky
4
哈希的整个目的就是使得这件事情成为不可能。 - SLaks
5
我向大家介绍一下 hashcat。使用它,可以解码所有带或不带盐的 MD5 值。这是一个不正确的提问位置。 - Saturn K
5个回答

13

你在问题中提到了“解密”一词,所以我首先想要说明的是哈希不是加密手段。加密是加密和解密的双向过程,它是一种保护数据在传输或静止状态下的方式。

哈希是一种单向算法,不能被“解密”。然而,有方法可以找出被哈希过的内容。如果你研究一下“彩虹表”,你会发现你只需要构建一个包含文本(在你的情况下还需加盐)及其相应哈希值的列表即可。

哈希和加密分别就像面包和冰淇淋。你可以加热面包得到烤面包片,但你不能通过冷却烤面包片来得到面包。你可以加热冰淇淋得到奶油,然后再将其冷却下来得到冰淇淋。


2
我真的很喜欢你的比喻,给你点赞 :) - Lior Dahan

6

不,哈希算法是单向的。

你可以再次对原始密码进行哈希运算,并查看哈希结果是否与之前的匹配。


5
对于问题“是否可能”,答案是肯定的。你可能认为“不可能”才是正确答案,因为这似乎不可行,但最好解释一下原因(例如给出一些难易程度的例子)。 - greggles

3
有一种解密方法,但这是一个漫长而繁琐的过程。它被称为“暴力破解”,这意味着您需要尝试大量输入(通过大量,我指的是与密码长度显著相关的数量)。由于哈希函数是一种产生非随机结果的单向函数,因此您将始终将输入映射到相同的输出。因此,通过使用“暴力破解”,您会逐个尝试每种可能的组合,并查看生成的哈希是否等于系统存储的哈希(因为您已经知道盐值)。有一些工具可以实现此目的,例如John the Ripper(在Kali Linux上可用),但还需要考虑计算能力,可能需要花费一些时间。

-2

它是不可能解密的。但是,您可以使用暴力破解方法在字典中查找匹配密码来破解它。

最好使用的工具是hashcat。


最好使用的工具是hashcat。- 你有任何可靠的来源吗?此外,没有必要重复其他答案。 - Nico Haase

-7

我尝试使用盐对哈希进行解密,它确实起作用,但只能与相同的加密应用程序或方法一起使用(我的意思是如果您在网站或应用程序上对其进行了加密,则必须在完全相同的地方对其进行解密)。

希望这有所帮助。


哈希是单向的,因此无法解密。可以进行比较,但不能解密。 - Phil3992

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接