Zum Inhalt springen
LeedyBox
Unterstützen

Hash-Generator: MD5, SHA-1, SHA-256, SHA-512 & HMAC

MD5-, SHA-1-, SHA-256-, SHA-384- und SHA-512-Hashes oder HMACs von Text oder Dateien im Browser berechnen und mit einer erwarteten Prüfsumme vergleichen.

Eingabe

Der Text wird genau so gehasht, wie er eingegeben wurde, einschließlich Leerzeichen und Zeilenumbrüchen. Zeilenumbrüche in diesem Feld werden als LF gehasht.

Ergebnisse

Geben Sie Text ein oder wählen Sie eine Datei, um ihre Hashes zu sehen.

MD5
SHA-1
SHA-256
SHA-384
SHA-512

Hex-Werte werden ohne Berücksichtigung der Groß-/Kleinschreibung verglichen; Base64-Werte müssen exakt übereinstimmen.

Hinweise

  • Für MD5 und SHA-1 sind Kollisionsangriffe bekannt; sie sollten nicht für Sicherheitszwecke verwendet werden. Verwenden Sie sie nur für Prüfungen ohne Sicherheitsbezug, etwa um einen Download mit einer veröffentlichten Prüfsumme zu vergleichen.
  • Ein Hash ist keine Verschlüsselung. Dieses Tool kann einen Hash nicht in den ursprünglichen Text oder die ursprüngliche Datei zurückverwandeln.
  • Speichern Sie Passwörter nicht als einfache Hashes. Verwenden Sie ein spezielles Passwort-Hashverfahren wie Argon2, scrypt oder bcrypt.
  • Hashes werden aus Bytes berechnet. Derselbe Text mit anderen Zeilenenden (CRLF oder LF), einer anderen Zeichenkodierung oder zusätzlichen Leerzeichen ergibt daher einen anderen Hash.
  • HMAC kombiniert einen Hash mit einem geheimen Schlüssel. HMAC-MD5 wird hier nicht angeboten.
  • Texte und Dateien werden in Ihrem Browser verarbeitet und nicht an LeedyBox gesendet. Sehr große Dateien können langsam sein, weil die gesamte Datei in den Arbeitsspeicher gelesen wird.

Prüfen Sie die Ergebnisse vor der Verwendung. Das Tool wird ohne Gewähr im vorliegenden Zustand bereitgestellt; die Ergebnisse können unvollständig oder falsch sein. Nutzungsbedingungen

MD5 und SHA-1 sind für Sicherheitszwecke nicht geeignet. Ein Hash ist keine Verschlüsselung, und eine übereinstimmende Prüfsumme zeigt nur, dass die Daten mit den Daten übereinstimmen, aus denen die Prüfsumme erstellt wurde.

So geht's

  1. Wählen Sie unter „Eingabe“ die Option „Text“, um eingegebenen oder eingefügten Text zu hashen, oder „Datei“, um eine Datei von Ihrem Gerät zu hashen.
  2. Bei einer Datei wählen Sie sie aus oder ziehen sie auf das Feld und klicken dann auf „Hashes berechnen“. Wenn Sie danach den „HMAC-Modus“ oder den Schlüssel ändern, klicken Sie erneut auf die Schaltfläche.
  3. Wählen Sie ein „Ausgabeformat“: Hex in Kleinbuchstaben, Hex in Großbuchstaben oder Base64. Ein Formatwechsel ändert nur die Schreibweise derselben Ergebnisse; es wird nichts neu berechnet.
  4. Um HMACs statt einfacher Hashes zu berechnen, aktivieren Sie „HMAC-Modus“ und geben den geheimen Schlüssel in das eingeblendete Feld ein. HMAC-MD5 wird nicht angeboten, daher zeigt die MD5-Zeile „Für HMAC nicht verfügbar“.
  5. Um einen Download zu prüfen, fügen Sie den veröffentlichten Wert in „Erwartete Prüfsumme (optional)“ ein. Er wird mit allen berechneten Ergebnissen verglichen, und die passende Zeile wird mit „Übereinstimmung“ markiert.

Häufig gestellte Fragen

Warum unterscheidet sich mein Hash von dem, den sha256sum oder ein anderes Tool ausgibt?

Das Textfeld hasht genau die eingegebenen Zeichen, daher ändern schon kleine Unterschiede das Ergebnis. Eine häufige Ursache ist ein Zeilenumbruch am Ende: echo hello | sha256sum hasht „hello“ plus einen Zeilenumbruch und ergibt daher einen anderen SHA-256-Wert als „hello“ allein, während printf hello | sha256sum keinen anhängt. Auch gleich aussehende Zeichen können unterschiedlich gespeichert sein, zum Beispiel é als ein Codepunkt oder als e mit nachfolgendem kombinierendem Akzent. Um die Bytes einer Datei unverändert zu hashen, verwenden Sie „Datei“, statt den Inhalt einzufügen, denn das Textfeld kodiert den Text als UTF-8 und hasht Zeilenumbrüche als LF.

Die veröffentlichte Prüfsumme ist richtig. Warum wird keine Übereinstimmung angezeigt?

Fügen Sie nur den Hashwert ein. Leerzeichen, Tabulatoren und Zeilenumbrüche werden vor dem Vergleich entfernt; wenn Sie eine ganze Zeile aus einer Prüfsummendatei einfügen, wird daher der Dateiname Teil des Werts, und auch ein Präfix wie sha256: verhindert eine Übereinstimmung. Es wird mit jedem berechneten Algorithmus verglichen, Sie müssen also keinen auswählen. Passt auch der reine Wert nicht, prüfen Sie, ob der „HMAC-Modus“ ausgeschaltet ist und ob die Prüfsumme mit MD5, SHA-1, SHA-256, SHA-384 oder SHA-512 erstellt wurde; andere Algorithmen wie SHA-3 oder BLAKE2 werden hier nicht berechnet. Andernfalls weicht die Datei höchstwahrscheinlich von der Datei ab, für die die Prüfsumme erstellt wurde, etwa weil es eine andere Version ist oder der Download unvollständig ist.

Was bedeutet es, wenn das Ergebnis mit e3b0c442 oder d41d8cd9 beginnt?

Das sind die Hashes einer leeren Eingabe (0 Byte) in Hex-Schreibweise: Der SHA-256-Wert beginnt mit e3b0c442 und endet mit b855, der MD5-Wert lautet d41d8cd98f00b204e9800998ecf8427e. Bei ausgeschaltetem „HMAC-Modus“ sehen Sie diese Werte, nachdem Sie das Textfeld geleert haben, oder bei einer Datei mit 0 Byte. Erzeugt ein eigenes Programm einen dieser Werte für Daten, die nicht leer sein sollten, hat es höchstwahrscheinlich eine leere Zeichenkette oder eine leere Datei gehasht.

Kann ich mit dem HMAC-Modus eine Webhook- oder API-Signatur prüfen?

Oft ja, sofern die Signatur ein HMAC mit SHA-1, SHA-256, SHA-384 oder SHA-512 ist; HMAC-MD5 wird nicht angeboten. Aktivieren Sie „HMAC-Modus“, geben Sie den geheimen Signaturschlüssel ein, verwenden Sie den Request-Body als Eingabe und fügen Sie die Signatur ohne Präfix wie sha256= in „Erwartete Prüfsumme (optional)“ ein; Hex- und Base64-Signaturen werden beide erkannt. Die Eingabe muss genau die Bytes enthalten, die signiert wurden: Ein neu formatierter JSON-Body passt nicht, und ein Body mit CRLF-Zeilenumbrüchen muss als Datei gespeichert und mit „Datei“ gehasht werden. Viele Dienste signieren mehr als den Body, etwa einen vorangestellten Zeitstempel samt Trennzeichen; prüfen Sie daher in der Dokumentation des Dienstes, was genau signiert wird.

Mein geheimer Schlüssel liegt als Hex oder Base64 vor. Kann ich ihn verwenden?

Nur wenn der Dienst den Schlüsseltext unverändert verwendet. Das Feld „Geheimer Schlüssel (UTF-8)“ verwendet die UTF-8-Bytes der eingegebenen Zeichen und dekodiert weder Hex noch Base64; dekodiert der Dienst seinen Schlüssel vor dem Signieren, stimmt der hier berechnete HMAC daher nicht überein. Auch Leerzeichen am Anfang oder Ende des Felds gehören zum Schlüssel.

Wie erstelle ich einen Hash für Subresource Integrity (SRI)?

Wählen Sie „Datei“ und dann das Skript oder Stylesheet aus, achten Sie darauf, dass der „HMAC-Modus“ ausgeschaltet ist, klicken Sie auf „Hashes berechnen“ und stellen Sie das „Ausgabeformat“ auf „Base64“. Setzen Sie sha384- vor den SHA-384-Wert, um den Wert für das integrity-Attribut zu erhalten; sha256- und sha512- funktionieren genauso. Die Datei muss Byte für Byte mit der Datei übereinstimmen, die der Browser herunterlädt, sonst verwendet der Browser sie nicht. Eine Datei, die von einem anderen Origin geladen wird, braucht außerdem das Attribut crossorigin, und ihr Server muss CORS erlauben.

Was ist der Unterschied zwischen Hex- und Base64-Ausgabe?

Beide stellen denselben Digest dar. Hex verwendet zwei Zeichen pro Byte, bei SHA-256 also 64 Zeichen, und ist das Format, das Tools wie sha256sum ausgeben; Base64 ist kürzer, bei SHA-256 44 Zeichen. Die Base64-Ausgabe verwendet das Standardalphabet mit + und / sowie =-Padding, nicht die URL-sichere Variante mit - und _; ein Wert in der URL-sicheren Variante oder ein Wert ohne das =-Padding stimmt daher beim Vergleich möglicherweise nicht überein.