Hash 对已知输入和输出的哈希函数进行反向工程

Hash 对已知输入和输出的哈希函数进行反向工程,hash,Hash,这个概念实际上非常简单,涉及到从已知的输入和输出中找出散列函数 有没有一个工具(我在linux上)可以快速找到这些信息 例如: 机密-fc683cd9ed1990ca2ea10b84e5e6fba048c24929 知道以上两个值后,这个假设机器将打印出sha1sum 请原谅我的初学者心态,我是新手,在空闲时间学习这个话题 假设输入字符串X保证生成输出散列Y,您可以构建一个使用每种编码类型的程序 伪代码: hash = "fc683cd9ed1990ca2ea10b84e5e6fba048c24

这个概念实际上非常简单,涉及到从已知的输入和输出中找出散列函数

有没有一个工具(我在linux上)可以快速找到这些信息

例如:

机密-fc683cd9ed1990ca2ea10b84e5e6fba048c24929

知道以上两个值后,这个假设机器将打印出sha1sum


请原谅我的初学者心态,我是新手,在空闲时间学习这个话题

假设输入字符串X保证生成输出散列Y,您可以构建一个使用每种编码类型的程序

伪代码:

hash = "fc683cd9ed1990ca2ea10b84e5e6fba048c24929";
input = "secret"

if (md5(input) == hash)
    return "md5";
else if (sha1(input) == hash)
    return "sha1";
//etc...
else
    return "Unknown"
编辑:有关为什么不能“反转”md5等哈希的更多信息,请参阅


编辑2:我做了一些搜索,发现:-它看起来很全面,所以看看。

你想破解什么系统?好吧,这只是为了获取知识。我这里有一个来自我朋友的文本文件,它有~7对输入和输出。我想知道使用了哪个散列函数。所以实际上没有系统,我只有这个文本文件,没有源代码或上下文。你可以尝试运行一些更常见的hashfunction,看看输出是否匹配。可能会很幸运。。。除此之外,没有办法“反转”散列吗?没有。这就是为什么它们被称为“不可逆”散列。我认为它们的意思是关于输出本身,而不是同时知道输入和输出。好的,我运行了这个,它给了我两个可能的选择。不过我不明白这个程序的建议是什么。其中一个:
Domain Cached Credentials-MD4(MD4($pass))(strtolower($username))
?它只是让你很容易判断自己是否成功。但是如果你有输入,为什么你需要反转它呢?