这个概念实际上非常简单,涉及从已知的输入和输出中找出哈希函数。
是否有工具(我在linux上)可以快速找到这些信息?
示例:
秘密 - fc683cd9ed1990ca2ea10b84e5e6fba048c24929
知道上面的两个值,这个假想的机器会打印出 sha1sum 。
请原谅我的初学者心态,我是新手,在空闲时间学习这个话题。
答案 0 :(得分:3)
假设输入字符串X保证产生输出散列Y,您可以构建一个使用每种编码类型的程序。
伪代码:
hash = "fc683cd9ed1990ca2ea10b84e5e6fba048c24929";
input = "secret"
if (md5(input) == hash)
return "md5";
else if (sha1(input) == hash)
return "sha1";
//etc...
else
return "Unknown"
编辑:有关为何无法“反转”md5等哈希值的详细信息,请参阅How come MD5 hash values are not reversible?。
编辑2:我做了一些搜索,发现了这个:http://code.google.com/p/hash-identifier/ - 它看起来非常全面,所以看一看。