如何对部分已知的字符串强制使用MD5?

时间:2014-12-03 14:29:18

标签: md5

我正在查看HashCatt(任何其他工具都没问题)来确定MD5哈希值的字符串。 我知道字符串的主要部分,但中间有一个我不知道的变量,我怎么去粗暴强迫呢?

例如。原始字符串是"fresh " + {type of fruit} + " is tasty!",我想知道水果的类型。

2 个答案:

答案 0 :(得分:0)

你必须列出你知道的每种类型的水果,用这种类型的水果构建字符串,然后计算哈希值并进行比较。

MD5不是可反向操作的,并且它不是加密,因此这是您解决问题的唯一方法。并且只有当你拼写完全相同并且使用相同的字符串编码时(即,如果字符串是UTF8并且你使用UTF16进行编码它不会飞行)。

答案 1 :(得分:-1)

您知道可能变量的值范围,还是可以估算一下?如果是这样,它会减小蛮力的范围。这可能是你最好的方法。

值得认识的是,使用精心设计的哈希算法,理想情况下,您不应该从字符串>中得出任何结论。关于string + second_string的输出的哈希转换>哈希值。要使用您提供的示例,“新鲜苹果的MD5输出很好吃!”是53aff0275a241760e654b3fe0e2184c4 - “新鲜橙子好吃!”的输出。是e7c124fef3816ba5a6d6917e20bd5a8b。结果非常不同。因此,如果您正在寻找的是分割哈希输出并仅关注子字符串或其他内容的方法,那么您将无法找到它。你最好的选择是降低蛮力的范围。