概念は実際には非常に単純で、既知の入力と出力からハッシュ関数を見つけることが含まれます。
この情報をすばやく見つけることができるツール (私は Linux を使用しています) はありますか?
例:
シークレット - fc683cd9ed1990ca2ea10b84e5e6fba048c24929
上記の 2 つの値を知っていると、この仮想マシンはsha1sumを出力します。
初心者の考え方で申し訳ありませんが、私は新しく、自由な時間にこのトピックについて学んでいます。
概念は実際には非常に単純で、既知の入力と出力からハッシュ関数を見つけることが含まれます。
この情報をすばやく見つけることができるツール (私は Linux を使用しています) はありますか?
例:
シークレット - fc683cd9ed1990ca2ea10b84e5e6fba048c24929
上記の 2 つの値を知っていると、この仮想マシンは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 ハッシュ値が元に戻せないのはなぜですか? 」を参照してください。md5 などのハッシュを「反転」できない理由の詳細については、.
編集 2: いくつかの検索を行ったところ、これが見つかりました: http://code.google.com/p/hash-identifier/ - かなり包括的に見えるので、見てください。