bitlvl
DE

Hash-Generator

Tippen Sie Text oder ziehen Sie eine Datei hinein und erhalten Sie alle fünf Digests auf einmal. Fügen Sie einen Schlüssel für HMAC hinzu. Fügen Sie einen erwarteten Wert ein, um einen Download zu prüfen. Alles wird auf Ihrem Gerät berechnet.

Oder Datei hineinziehen, oder

Die Ergebnisse und Meldungen dieses Tools werden auf Englisch angezeigt.

Was ein Hash ist

Ein kryptografischer Hash verwandelt jede Eingabe in einen Fingerabdruck fester Größe. Ändern Sie ein Bit der Eingabe, und die ganze Ausgabe ändert sich; aus einer Ausgabe gibt es keinen praktikablen Weg zurück zur Eingabe; und es ist (bei den noch sicheren Algorithmen) undurchführbar, zwei Eingaben mit demselben Hash zu finden. Das macht Hashes nützlich, um Downloads zu prüfen, Änderungen zu erkennen, Daten zu deduplizieren und, mit Salt und einem langsamen Algorithmus, Passwörter zu speichern.

AlgorithmusAusgabeStatusHeutige Verwendung
MD5128 Bit (32 Hex)Gebrochen: Kollisionen sind trivialAlte Prüfsummen, Cache-Schlüssel. Nie für Sicherheit.
SHA-1160 Bit (40 Hex)Gebrochen: Kollisionen demonstriert (2017)Git-Objekt-IDs (wird ersetzt). Nicht für Signaturen.
SHA-256256 Bit (64 Hex)SicherDer Standard: TLS, Code-Signierung, Download-Prüfsummen, Bitcoin.
SHA-384384 Bit (96 Hex)SicherWo mehr Sicherheitsmarge gewünscht ist; Subresource Integrity.
SHA-512512 Bit (128 Hex)SicherSchneller als SHA-256 auf 64-Bit-CPUs; Linux-Passwort-Hashes (sha512crypt).

HMAC

Ein HMAC mischt auf eine bestimmte Weise (RFC 2104) einen geheimen Schlüssel in den Hash, sodass nur jemand mit dem Schlüssel den Wert erzeugen oder prüfen kann. Das ist der Mechanismus hinter HS256-JWTs, Webhook-Signaturen (GitHub, Stripe), AWS-Request-Signierung und TOTP-Codes. Ein einfaches hash(key + message) ist dafür nicht sicher; HMAC existiert, um die Length-Extension-Schwäche dieser Konstruktion zu beheben.

Einen Download prüfen

  1. Die veröffentlichte Prüfsumme auf der Download-Seite finden (oft eine SHA256SUMS-Datei).
  2. Die heruntergeladene Datei hier hineinziehen oder sha256sum datei in einer Shell ausführen.
  3. Den veröffentlichten Wert ins Vergleichsfeld einfügen. Eine Übereinstimmung heißt, die Datei ist Byte für Byte das Veröffentlichte.

Ein passender Hash beweist Integrität, nicht Authentizität: Wenn ein Angreifer die Datei ändern kann, kann er auch die Prüfsumme daneben ändern. Für Authentizität brauchen Sie eine Signatur (GPG, Sigstore, minisign).

Passwörter

Speichern Sie Passwörter nicht als SHA-256-Hashes. Schnelle Hashes lassen sich auf einer GPU milliardenfach pro Sekunde raten. Verwenden Sie eine langsame, gesalzene, speicherharte Funktion, die dafür gemacht ist: Argon2id, scrypt oder bcrypt.

Fragen

Welchen Hash soll ich verwenden?

SHA-256, sofern es keinen bestimmten Grund für etwas anderes gibt. Er ist sicher, überall unterstützt und schnell. SHA-512 ist auf 64-Bit-Hardware etwas schneller. MD5 und SHA-1 taugen nur für sicherheitsunkritische Zwecke wie Cache-Schlüssel.

Kann man einen Hash entschlüsseln?

Nein. Ein Hash ist keine Verschlüsselung; es gibt keinen Schlüssel und keine Umkehrung. Angreifer raten stattdessen Eingaben und vergleichen Hashes, was bei kurzen oder häufigen Eingaben funktioniert (daher Rainbow-Tabellen) und der Grund ist, warum Passwörter Salts und langsame Hashes brauchen.

Warum weicht mein MD5 von dem auf der Website ab?

Meist Zeilenenden (CRLF gegen LF), ein Zeilenumbruch am Ende oder eine andere Textkodierung. Hashen Sie die exakten Bytes: Für eine Datei nutzen Sie die Ablagezone, statt ihren Inhalt einzufügen.

Ist das hier berechnete SHA-256 dasselbe wie bei sha256sum?

Ja, Byte für Byte. Das Tool nutzt die WebCrypto-Implementierung des Browsers für die SHA-Familie. Bei Texteingabe sind die Bytes die UTF-8-Kodierung des Getippten.

Wird meine Datei oder mein Passwort irgendwohin gesendet?

Nein. Das Hashing erledigt JavaScript lokal. Die Seite hat keine Serverkomponente, die es empfangen könnte.