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.
| Algorithmus | Ausgabe | Status | Heutige Verwendung |
|---|---|---|---|
| MD5 | 128 Bit (32 Hex) | Gebrochen: Kollisionen sind trivial | Alte Prüfsummen, Cache-Schlüssel. Nie für Sicherheit. |
| SHA-1 | 160 Bit (40 Hex) | Gebrochen: Kollisionen demonstriert (2017) | Git-Objekt-IDs (wird ersetzt). Nicht für Signaturen. |
| SHA-256 | 256 Bit (64 Hex) | Sicher | Der Standard: TLS, Code-Signierung, Download-Prüfsummen, Bitcoin. |
| SHA-384 | 384 Bit (96 Hex) | Sicher | Wo mehr Sicherheitsmarge gewünscht ist; Subresource Integrity. |
| SHA-512 | 512 Bit (128 Hex) | Sicher | Schneller 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
- Die veröffentlichte Prüfsumme auf der Download-Seite finden (oft eine
SHA256SUMS-Datei). - Die heruntergeladene Datei hier hineinziehen oder
sha256sum dateiin einer Shell ausführen. - 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.