这个概念实际上非常简单,涉及从已知的输入和输出中找出哈希函数。
有没有一个工具(我在linux上)可以快速找到这些信息?
示例:
secret - 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"
编辑:参见How come MD5 hash values are not reversible?了解有关为何无法“反转”MD5 等哈希值的更多信息。
编辑2:我做了一些搜索,发现了这个:http://code.google.com/p/hash-identifier/ - 看起来很全面,所以看一下。
关于hash - 根据已知的输入和输出对哈希函数进行逆向工程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280175/