Nun, da es eine endliche Anzahl populärer Hash-Algorithmen gibt, ist vielleicht das, was Sie vorschlagen, nicht so lächerlich.
Aber angenommen, ich habe dich das gefragt:
Wenn ich einen Eingang und einen Ausgang habe, kann Ich bestimme die Funktion?
Im Allgemeinen , nein, Sie können die inneren Funktionen einer Funktion nicht einfach dadurch ermitteln, dass Sie eine Eingabe und eine Ausgabe ohne zusätzliche Informationen kennen.
%Vor%Wenn Sie die Länge betrachten, können Sie entscheiden, welche Algorithmen Sie ausprobieren möchten. MD5 und MD2 erzeugen 16-Byte-Digests. SHA-1 erzeugt 20 Bytes Ausgabe. Usw. Führen Sie dann jeden Hash auf der Eingabe aus und prüfen Sie, ob er mit der Ausgabe übereinstimmt. Wenn ja, das ist dein Algorithmus.
Natürlich, wenn mehr als der "Schlüssel" gehashed wurde, müssen Sie das auch wissen. Und abhängig von der Anwendung werden Hashes oft iterativ angewendet. Das heißt, die Ausgabe des Hash wird erneut gehasht, und diese Ausgabe wird ... oft tausende Male gehashed. Wenn Sie also im Voraus wissen, wie viele Iterationen durchgeführt wurden, kann das ebenfalls helfen.
Es gibt nichts außer der Länge in der Ausgabe eines kryptografischen Hashes, die helfen würde, den Algorithmus einzugrenzen, der es erzeugt hat.
Der Hash scheint nur hexadezimale Zeichen zu enthalten (jedes Zeichen steht für 4 Bits)
Gesamtanzahl ist 32 Zeichen - & gt; Dies ist ein Hash mit 128 Bit Länge.
Standard-Hashing-Algorithmen, die diesen Spezifikationen entsprechen, sind: haval, md2, md4, md5 und ripemd128.
Höchste Wahrscheinlichkeit ist, dass MD5 verwendet wurde.
md5 ("höher")! = df072c8afcf2385b8d34aab3362020d0
Höchste Wahrscheinlichkeit ist, dass etwas Salz verwendet wurde.
Höchste Wahrscheinlichkeit bleibt immer noch MD5.
Entsprach keiner der gängigen Hash-Algorithmen :
Vielleicht wurde salt vor dem Hash-Vorgang hinzugefügt ...
Nicht anders, als einen Haufen auszuprobieren, den Sie kennen, und zu sehen, ob ein Treffer gefunden wurde.