# Hash Generator — Tipps & Tricks

> Sicherheits-Einordnung zum Hash Generator: warum MD5/SHA-1 gebrochen sind, Hashing ≠ Verschlüsselung ≠ Passwort-Hashing und Kombination mit anderen Tools.

Source: https://www.jpkc.com/db/tools/hash/tips/

Zurück zur Übersicht: [Hash Generator](https://www.jpkc.com/db/tools/hash/) · Tool live öffnen: [www.jpkc.com/tools/hash/](https://www.jpkc.com/tools/hash/)

Das [Manual](https://www.jpkc.com/db/tools/hash/manual/) erklärt jeden Algorithmus, die [Beispiele](https://www.jpkc.com/db/tools/hash/examples/) zeigen die Abläufe. Hier geht es um die Einordnung, die über jedem Hash-Tool stehen sollte: **welcher Algorithmus wofür**, was ein Hash *nicht* ist, und wo die typischen Denkfehler liegen.

## Die wichtigste Regel: MD5 und SHA-1 sind kryptografisch gebrochen

**MD5** und **SHA-1** gelten als **kryptografisch unsicher**. Für beide lassen sich mit vertretbarem Aufwand **Kollisionen** erzeugen — zwei verschiedene Eingaben mit demselben Hash. Das bedeutet konkret:

- **Nicht** mehr verwenden für Signaturen, Zertifikate, Sicherheits-Tokens oder überall dort, wo ein Angreifer ein Interesse daran hätte, eine zweite Eingabe mit gleichem Hash unterzuschieben.
- **Weiterhin in Ordnung** als reine **Prüfsumme gegen versehentliche Veränderung** — etwa um einen unbeabsichtigt beschädigten Download zu erkennen, wenn der Anbieter nun mal nur einen MD5-Wert nennt. Gegen *zufällige* Bitfehler taugt MD5 noch; gegen einen *Angreifer* nicht.

Das Tool bietet MD5 und SHA-1 bewusst weiter an, weil beide in der Praxis als Legacy-Prüfsummen noch vorkommen. Nutze sie mit diesem Wissen — und wo du die Wahl hast, nimm SHA-256.

## Welchen Algorithmus wofür

- **Integrität / Prüfsummen (Standard):** **SHA-256**. Breit unterstützt, schnell genug, sicher. Die Default-Empfehlung für Download-Verifizierung und Datei-Vergleiche.
- **Maximale Reserve:** **SHA-512** (oder SHA-3 (512)) — längerer Hash, mehr Sicherheitsmarge, minimal langsamer.
- **Moderner Standard mit anderer Konstruktion:** **SHA-3** (Keccak). Sinnvoll, wenn explizit SHA-3 gefordert ist oder du nicht auf der SHA-2-Familie aufsetzen willst.
- **RIPEMD-160:** vor allem dort relevant, wo es konkret verlangt wird (z. B. bestimmte Krypto-/Adressformate). Sonst kein Grund, es SHA-256 vorzuziehen.
- **MD5 / SHA-1:** nur, wenn die Gegenstelle es vorgibt — und nur als Integritäts-, nie als Sicherheits-Check.

## Hashing ist weder Verschlüsselung noch Passwort-Hashing

Drei Dinge werden oft verwechselt — sie sind grundverschieden:

- **Hashing (dieses Tool)** ist eine **Einbahnstraße**: Aus dem Hash lässt sich die Eingabe nicht zurückrechnen. Es gibt **keinen** „Entschlüsseln"-Knopf, weil ein Hash nichts verschlüsselt — er bildet ab. Gut für Integrität und Fingerabdrücke.
- **Verschlüsselung** ist **umkehrbar** (mit Schlüssel): Klartext rein, Geheimtext raus, und mit dem Schlüssel wieder zurück. Dafür ist dieses Tool **nicht** zuständig — nimm den **[Cryptor](https://www.jpkc.com/db/tools/cryptor/)**.
- **Passwort-Hashing** ist ein **eigener** Anwendungsfall mit eigenen Verfahren: **BCrypt** oder **Argon2** sind absichtlich *langsam* und nutzen ein **Salt**, um Brute-Force und Rainbow-Tables auszubremsen. Speichere Passwörter **niemals** als MD5/SHA aus diesem Tool — schnelle Hashes sind dafür genau das Falsche. Für BCrypt/Argon2 ist der **[Generator](https://www.jpkc.com/db/tools/generator/)** das richtige Werkzeug.

Kurz: Brauchst du *umkehrbar*, ist es Verschlüsselung. Geht es um *Passwörter speichern*, brauchst du BCrypt/Argon2. Nur für *Fingerabdruck/Integrität* bist du hier richtig.

## HMAC richtig einsetzen

- **HMAC braucht ein Geheimnis.** Der Wert ist nur so stark wie der Schlüssel. Tipp ihn nicht selbst aus dem Kopf — nutz den **Schlüssel-Button** neben dem Feld, der eine zufällige 64-Zeichen-Passphrase erzeugt.
- **HMAC ≠ einfacher Hash mit angehängtem Schlüssel.** HMAC hat eine eigene, gegen Length-Extension-Angriffe gehärtete Konstruktion. Genau deshalb signiert man API-Requests mit HMAC und nicht mit `SHA256(schlüssel + nachricht)`.
- **HMAC-SHA-256 ist der Default** für Request-Signaturen und Webhooks. Greif nur zu HMAC-MD5/HMAC-SHA-1, wenn eine Gegenstelle es ausdrücklich verlangt.
- **Kein HMAC für jeden SHA-3-Subtyp:** Im Tool gibt es eine HMAC-Schaltfläche nur für **SHA-3 (512)** — die kleineren SHA-3-Varianten bieten keine.

## Stolperfallen aus der Praxis

- **Hash hängt am exakten Input.** Ein unsichtbares Leerzeichen, ein Zeilenende (`\n` vs. `\r\n`) oder eine andere Zeichenkodierung ändert den Hash komplett. Wenn ein Text-Hash „nicht passt", liegt es fast immer an genau so einem unsichtbaren Unterschied — beim **File Hash** dagegen wird der rohe Datei-Inhalt gehasht, da gibt es dieses Problem nicht.
- **Text-Hash ≠ Datei-Hash derselben Zeichen.** Tippst du `hello` in das **Message**-Feld, hasht das Tool die fünf Zeichen. Eine Datei mit dem Inhalt `hello` kann durch ein angehängtes Zeilenende abweichen. Vergleiche also immer Gleiches mit Gleichem.
- **Andere Auswahl bei Datei vs. Text.** Das **File Hash** rechnet **MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA-3 (256), SHA-3 (512), RIPEMD-160** — aber **kein** SHA-224, SHA-3 (224)/(384) und **kein** HMAC. Diese brauchst du im Text-Bereich.
- **Hex ist case-insensitiv, aber kopier sauber.** Die Ausgabe ist kleingeschriebenes Hex; ein veröffentlichter Wert in Großbuchstaben meint dasselbe. Vergleich am besten case-unabhängig, statt an der Schreibweise zu scheitern.
- **100-MB-Grenze.** Größere Dateien lehnt das Tool ab. Für ein noch größeres Image brauchst du ein lokales Kommandozeilen-Werkzeug (`sha256sum` o. Ä.).

## Mit anderen JPKCom-Tools kombinieren

- **Passwörter speichern?** Nicht hier — der **[Generator](https://www.jpkc.com/db/tools/generator/)** macht BCrypt/Argon2 (und liefert auch TOTP-Codes und sichere Passwörter).
- **Inhalte vertraulich machen?** Das ist Verschlüsselung — dafür ist der **[Cryptor](https://www.jpkc.com/db/tools/cryptor/)** da.
- **Zertifikate, Schlüsselpaare, Signaturen?** Der **[PKI](https://www.jpkc.com/db/tools/pki/)** ergänzt das Hashing um die Public-Key-Welt.

---

Noch mehr Kontext: die [Übersicht](https://www.jpkc.com/db/tools/hash/) zum großen Bild, das [Manual](https://www.jpkc.com/db/tools/hash/manual/) für jeden Algorithmus und die [Beispiele](https://www.jpkc.com/db/tools/hash/examples/) für die Schritt-für-Schritt-Abläufe. Ausprobieren kannst du alles direkt im [Tool](https://www.jpkc.com/tools/hash/).

