如何解密这个密码哈希? [关闭]

问题描述 投票:-5回答:1

我用Google搜索了大量的解密信息,但没有人可以告诉我这是什么类型的加密以及如何解密0x010056049b0e92e4e85487c8a63385cdb89bdd66cb7f28cab34e

了解更多信息:

密码哈希:0x010056049b0e92e4e85487c8a63385cdb89bdd66cb7f28cab34e

标题:0x0100

盐:56049b0e

mixcase:92e4e85487c8a63385cdb89bdd66cb7f28cab34e

任何人都可以教我如何生存这个我对此全新

hash passwords encryption
1个回答
31
投票

如果密码所有者不适用于您的公司,那么如果继续沿着这条路走下去,您可能会违反法律。要非常小心,确保您知道自己是否违法并做出是否这样做的适当决定。我不主张违法,并在下面提供公开信息,用于一般教育目的。

不想更改密码但想要了解它通常是非常可疑的。如果您有业务访问密码保护的数据,那么您可能有权更改密码,或者您可能已经知道密码。想要保持密码不变,但了解它是什么并获得对底层资产的访问,这就引出了一个问题:为什么要保持密码不变?一个明显的答案是阻止合法所有者知道您有权访问。另一个明显的答案是因为您忘记了密码并试图重新获得对自己数据的访问权限 - 尽管访问哈希是非常不寻常的,但如果一个人确实是合法的所有者,则无法更改密码。

正如评论者所提到的,你无法解密哈希。散列和加密/解密是两个独立的操作。加密和解密是对立的,而散列没有相反的功能。

为简单起见,考虑将加密类似于为每个字符添加1,因此原始文本中的“a”变为“b”,原始文本中的“b”变为“c”,依此类推。解密将从数字中减去1,因此密文中的“b”变为“a”。实际上,使用了更难的数学问题,但这是一般的想法。

哈希没有反转。考虑散列就像找到mod 2的结果一样。例如,“a”可以表示为值“97”,而97 mod 2 = 1.“b”可以表示为值“98”和98 mod 2 = 0.如下表所示......

letter  numeric            mod 2
         representation      (the 'hash')
 a         97             1
 b         98             0
 c         99             1
 d        100             0
 e        101             1

从表中可以看出,只知道哈希值,就无法回到原始字母。实际上,基于更难的数学运算,散列要复杂得多,并且通常用于防止碰撞 - 避免在我的描述中使用mod2每个“奇数”字母产生“1”并且每个“偶数”字母导致一个“0”。

尽管如此,应该清楚的是,您无法反转哈希,就像您可以反向(解密)加密一样。

也就是说,有时候有办法找出密码。你可能会“蛮力”每一个可能的输入,直到你得到预期的结果。也就是说,尝试使用密码“a”,“aa”,“aaa”,“aaa”,...,“b”,“bb”,...,“ab”,...好的哈希算法,这是找出特定哈希的最快方法。但是,如果使用良好的哈希算法和足够长的密码,您将无法在太阳消亡之前以这种方式学习密码。

有时哈希算法会有弱点。有时,会有一种比暴力强迫更快的方法。您需要查找正在使用的特定算法并了解其弱点,但即使这样,这并不意味着可以在合理的时间内中断。我会将此作为练习留给读者,并且不会响应任何指针请求:)

最后,通常比尝试反转哈希更容易以另一种方式学习密码。实际上,这正是一个强大的哈希算法强迫你做的事情 - 它应该是如此难以学习你必须诉诸另一种技术的原始密码。例如,如果使用密码的人为您的公司工作,CEO可以询问他们的密码。更常见的是,真正的目标是获得对有效帐户的控制权,因此您只需更改当前密码即可。

考虑到你的问题含糊不清,那就是我能给出的答案。如果您对此感兴趣,请咨询您的律师并开始阅读维基百科的文章。他们在解释加密和散列以及相关算法方面做得很好。

© www.soinside.com 2019 - 2024. All rights reserved.