2

概念は実際には非常に単純で、既知の入力と出力からハッシュ関数を見つけることが含まれます。

この情報をすばやく見つけることができるツール (私は Linux を使用しています) はありますか?

例:

シークレット - fc683cd9ed1990ca2ea10b84e5e6fba048c24929

上記の 2 つの値を知っていると、この仮想マシンはsha1sumを出力します。

初心者の考え方で申し訳ありませんが、私は新しく、自由な時間にこのトピックについて学んでいます。

4

1 に答える 1

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 ハッシュ値が元に戻せないのはなぜですか? 」を参照してください。md5 などのハッシュを「反転」できない理由の詳細については、.

編集 2: いくつかの検索を行ったところ、これが見つかりました: http://code.google.com/p/hash-identifier/ - かなり包括的に見えるので、見てください。

于 2012-11-07T23:42:33.583 に答える