你能破解密码哈希方案吗?

11

我有两个密码和对应的哈希值。我无法弄清楚哈希值是如何从密码中派生出来的。我不知道是否使用了加盐。我也不知道密码是作为整数值还是字符串(可能是Unicode)进行哈希。

密码:6770 哈希值:c12114b91a3841c143bbeb121693e80b

密码:9591 哈希值:25238d578b6a61c2c54bfe55742984c1

哈希长度似乎表明是MD5算法。有人有什么想法可以尝试吗?

注意:这不是为了黑客目的。我正在尝试通过API访问一个服务,而不是它的桌面客户端,并且我无法弄清楚如何计算密码哈希值。目前,我直接发送哈希值而不是真实密码。

2个回答

28

通过谷歌搜索这些哈希值(!)可以发现,25238d578b6a61c2c54bfe55742984c1是“9591”(来源)的md2sum,该网站还有另一页确认了6770和你的第一个哈希值相同(来源2)。

(编辑:我后来谷歌了一些md2源代码并交叉检查了哈希值。)

(再次编辑以评论:你非常幸运,因为这个API使用了如此糟糕的哈希方案,没有任何盐或前缀!:-) )


3
API 文档没有提到?奇怪。
原则上,这是一个不可能的问题——在任何特定的情况下,任意数量的不同哈希算法都可以给出相同的结果,然后在你依赖其中一种算法时会给出不同的结果。但实际上,你可以尝试一些常见的加密哈希算法,并查看它们给出了什么结果。如果其中一种在几个随机选择的情况下匹配,那么它可能是正确的。一个恶意用户可能会在应用主要哈希算法之前重新映射一些字符(交换“2”和“3”等——你无法从示例密码中发现这一点),但在实际应用中这种情况很少发生。顺便说一句,一个由四个数字组成的密码与没有密码几乎同样安全。

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