SHA-1 Hash Generator (160-Bit-Legacy)
SHA-1-Hashes im Browser generieren — 40-Zeichen-Hex-Ausgabe, ohne Upload. Legacy-Tool für Git-Fingerprints, alte Zertifikatsprüfungen und Migrationsaudits. Daten verlassen dein Gerät nicht.
Was ist SHA-1?
SHA-1 (Secure Hash Algorithm 1) ist eine 160-Bit-kryptografische Hash-Funktion, die 1995 vom NIST als FIPS 180-1 veröffentlicht wurde. Sie wurde von der U.S. National Security Agency entwickelt, um SHA-0 (eine fehlerhafte frühere Version, die 1993 schnell zurückgezogen wurde) zu ersetzen, und war der dominante Hash-Algorithmus für digitale Signaturen, TLS-Zertifikate und Code-Signing in den 2000er Jahren.
Geschichte der Angriffe: 2005 veröffentlichte Xiaoyun Wangs Team einen theoretischen Angriff, der die SHA-1-Kollisionsresistenz von den erwarteten 2^80 auf 2^63 Operationen reduzierte — ein theoretischer Bruch, aber noch nicht praktisch. Im Februar 2017 veröffentlichten Google und das CWI Amsterdam den SHAttered-Angriff und produzierten zwei unterschiedliche PDF-Dokumente mit identischen SHA-1-Hashes unter Verwendung von ca. 110 GPU-Jahren. Dies war der definitive praktische Bruch. NIST hatte SHA-1 für Signaturen bereits 2011 für veraltet erklärt (NIST SP 800-131A); Browser-Anbieter und Zertifizierungsstellen folgten, indem sie die SHA-1-Zertifikatsunterstützung 2016–2017 entfernten.
Aktueller Status: SHA-1 ist für alle sicherheitssensitiven Verwendungen veraltet — digitale Signaturen, Zertifikats-Fingerprints, Passwortspeicherung und Code-Signing. Es bleibt in Gits Objekt-ID-Format (Commit-Hashes) erhalten, wo es zur Content-Adressierung statt zur Sicherheit verwendet wird, und in Legacy-Software-Prüfsummen. Das Git-Projekt fügte SHA-256-Objektformat-Unterstützung in Version 2.29 (Oktober 2020) hinzu. Alle neuen Projekte sollten SHA-256 oder stärker verwenden.
Dieses Tool berechnet SHA-1 vollständig in deinem Browser mit crypto.subtle.digest('SHA-1', ...) aus der Web Crypto API. Die 40-Zeichen-Hex-Ausgabe ist identisch mit dem, was sha1sum, openssl dgst -sha1 oder git hash-object erzeugen. Keine Bytes werden an einen Server gesendet.
SHA-1 vs. die SHA-2-Familie: SHA-1 erzeugt 40 Hex-Zeichen (160 Bit). SHA-256 erzeugt 64 Hex-Zeichen (256 Bit) und hat keine bekannten Schwächen. MD5 erzeugt 32 Hex-Zeichen (128 Bit) und wurde früher gebrochen (2004). Für alle neuen Hash-Arbeiten ist SHA-256 die Standardwahl.
// Hash text using Web Crypto API (SHA-1 — legacy use only)
async function sha1(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest('SHA-1', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
await sha1('Hello, World!');
// → '0a0a9f2a6772942557ab5355d76af442f8f65e01'
// ⚠️ SHA-1 is broken — use SHA-256 for new work. SHA-1-Beispiele
Git-Commit-Fingerprint nachschlagen
tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 author A Dev <dev@example.com> 1716854400 +0000 committer A Dev <dev@example.com> 1716854400 +0000 Initial commit
Git speichert jeden Commit als Blob, dessen SHA-1 aus dem Commit-Header und dem Inhalt in genau diesem Format berechnet wird. Der 40-Zeichen-Hex-String, den `git log` anzeigt, ist ein direkter SHA-1-Fingerprint. Füge hier den rohen Commit-Objekt-Text ein, um denselben Hash zu reproduzieren — nützlich beim Debuggen von `git cat-file`-Ausgaben oder zur Überprüfung, ob ein Spiegel-Repository die Historie nicht manipuliert hat. Hinweis: Git 2.29+ unterstützt den SHA-256-Modus (git init --object-format=sha256), und GitHub wird seinen Objektspeicher schließlich migrieren. Für neue Repositories bevorzuge den SHA-256-Modus.
Legacy-TLS-Zertifikats-Fingerprint verifizieren
-----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAKlL... -----END CERTIFICATE-----
Vor 2017 zeigten Browser Zertifikats-Fingerprints als 40-Zeichen-SHA-1-Hex-Strings an. Zertifizierungsstellen stellten im Januar 2016 keine SHA-1-signierten Zertifikate mehr aus, und alle großen Browser entfernten die Unterstützung bis Anfang 2017. Wenn du ein altes internes Zertifikat überprüfst oder ein Legacy-IoT-Gerät validierst, füge den PEM-Körper hier ein, um den SHA-1-Fingerprint zum Vergleich zu reproduzieren. Moderne Workflows verwenden den 64-Zeichen-SHA-256-Fingerprint.
Verifikation älterer Software-Downloads
node-v0.12.7-linux-x64.tar.gz
Einige ältere Software-Archive veröffentlichen nur eine SHA-1-Prüfsumme neben dem Download. Obwohl dies nur eine grundlegende Korruptionserkennung (keine Manipulationserkennung) bietet, ist es immer noch besser als gar keine Prüfsumme. Verwende den Reiter "Datei", um das Archiv einzuspielen, den SHA-1 zu berechnen und mit dem veröffentlichten Wert des Herausgebers zu vergleichen. Wenn SHA-256 ebenfalls verfügbar ist, bevorzuge immer diesen. Für neue Archive bestehe auf SHA-256- oder SHA-512-Prüfsummen.
SHAttered-Kollisionsdemonstration
(Dateiinhalt von shattered-1.pdf über den Reiter "Datei" einspielen)
Im Februar 2017 veröffentlichten Google und das CWI Amsterdam den SHAttered-Angriff — die erste praktische SHA-1-Kollision. Sie produzierten zwei verschiedene PDF-Dateien (shattered-1.pdf und shattered-2.pdf), die auf denselben SHA-1-Wert hashen: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. Das Einspielen beider PDFs in den Reiter "Datei" dieses Tools erzeugt genau diesen Hash und beweist die reale Kollision. Diese Demonstration ist der deutlichste Beweis dafür, warum SHA-1 gebrochen ist. Nutze SHA-256 für alle neuen Dokumentenintegritäts-Workflows.
SHA-1-Hashes generieren
- 1
Text einfügen oder Datei einspielen
Wähle den Reiter "Text" und füge einen beliebigen String ein — eine Commit-Nachricht, einen Zertifikatskörper oder eine Legacy-Prüfsummen-Eingabe — in den Eingabebereich. Der SHA-1-Hash wird während der Eingabe aktualisiert. Für Dateien wechsle zum Reiter "Datei" und ziehe eine Datei in die Drop-Zone; der Browser hasht sie lokal ohne Upload.
- 2
Den 40-Zeichen-Hash kopieren
Klicke auf die Kopieren-Schaltfläche neben der Hash-Ausgabe. Der vollständige 40-Zeichen-Kleinbuchstaben-Hex-String wird in die Zwischenablage kopiert. Nutze den Großbuchstaben-Schalter, wenn dein Legacy-System Großbuchstaben-Hex erwartet — einige alte Tools und Windows-APIs verwenden standardmäßig Großbuchstaben.
- 3
Mit einem Legacy-Fingerprint vergleichen
Wechsle zum Reiter "Vergleichen" und füge zwei SHA-1-Hashes nebeneinander ein, um zu bestätigen, dass sie übereinstimmen. Nützlich zur Validierung einer Legacy-Herausgeber-Prüfsumme, zur Überprüfung eines gespiegelten Git-Repositorys oder zur Überprüfung eines alten TLS-Zertifikats-Fingerprints aus einem Dokument, das vor der SHA-256-Einführung datiert.
Technische Details
- Algorithmus: Merkle-Damgård-Konstruktion, 80 Runden
- SHA-1 verarbeitet Eingaben in 512-Bit-Blöcken (64 Byte) und wendet 80 Runden bitweiser Operationen an, die in vier 20-Runden-Phasen gruppiert sind, jede mit einer anderen logischen Funktion (Ch, Parität, Maj, Parität) und additiven Konstanten. Der initiale Hash-Zustand besteht aus fünf 32-Bit-Wörtern (A–E). Implementiert in FIPS 180-1 (1995), abgelöst durch FIPS 180-4 (2015).
- Ausgabe: 160 Bit, 40 Hex-Zeichen
- Immer genau 40 Kleinbuchstaben-Hexadezimalzeichen (160 Bit = 20 Bytes, kodiert als 2 Hex-Zeichen pro Byte). Die Ausgabelänge ist unabhängig von der Eingabegröße fest. Im Vergleich zu SHA-256s 64 Zeichen bietet die kürzere Ausgabe weniger Bits an Kollisionsresistenz — ein Schlüsselfaktor dafür, warum SHA-1 vor SHA-256 gebrochen wurde.
- Performance: schnell — aber genau das ist Teil des Problems
- SHA-1 ist schnell — typischerweise 400–700 MB/s in einem Browser mit Web Crypto, vergleichbar mit SHA-256. Für einen Angreifer ist diese Geschwindigkeit ein Vorteil: ein modernes GPU-Cluster kann Milliarden von SHA-1-Hashes pro Sekunde berechnen. Geschwindigkeit ist der Grund, warum SHA-1 (wie MD5) nie zur Passwortspeicherung verwendet werden darf — nutze bcrypt, scrypt oder Argon2.
- Standards: FIPS 180-1 (1995) — veraltet im Kontext von FIPS 180-4
- SHA-1 wurde in FIPS 180-1 (1995) standardisiert. NIST erklärte SHA-1 für digitale Signaturen in NIST SP 800-131A (2011) für veraltet und in FIPS 186-5 (2023) formal für alle digitalen Signaturen untersagt. Die W3C WebCrypto API enthält SHA-1 noch aus Legacy-Interoperabilitätsgründen, was dieses Browser-Tool zur Berechnung ermöglicht.
Best Practices
- SHA-1 niemals für sicherheitssensitive Operationen verwenden
- SHA-1 ist veraltet für digitale Signaturen, TLS-Zertifikate, Code-Signing, Passwortspeicherung und alle Workflows, bei denen Kollisionsresistenz wichtig ist. Der SHAttered-Angriff von 2017 demonstrierte praktische Kollisionen. Für alle Sicherheitsanwendungen migriere zu SHA-256 oder SHA-3. Der Kostenunterschied ist auf moderner Hardware vernachlässigbar — SHA-256 ist hardwarebeschleunigt in allen aktuellen CPUs.
- SHA-1 für Legacy-Fingerprint-Nachschlagen ist akzeptabel
- Wenn du eine Dateiprüfsumme vor 2017 verifizieren, eine Git-Commit-ID nachschlagen oder einen alten Zertifikats-Fingerprint für Prüfzwecke inspizieren musst, ist SHA-1 angemessen. Der Hash selbst wird nicht zur Sicherheitsentscheidung genutzt — du reproduzierst nur einen bekannten Fingerprint zur Kreuzreferenz. Dokumentiere dies explizit in deinen Prüfprotokollen: 'SHA-1 nur für Legacy-Referenz verwendet, nicht zur Sicherheitsvalidierung.'
- Immer UTF-8-Bytes hashen, keine Unicode-Code-Points
- SHA-1 operiert wie alle Hash-Algorithmen auf Bytes, nicht auf Zeichen. Derselbe als UTF-8 vs. UTF-16 kodierte String erzeugt unterschiedliche Hashes. Dieses Tool kodiert Eingaben immer als UTF-8 ohne BOM vor dem Hashen. Wenn du ein System abgleichen musst, das eine andere Kodierung verwendet (Windows UTF-16-LE, Latin-1), musst du die Eingabe extern vorcodieren.
- Zeitkonstanten Vergleich beim Verifizieren von Hashes im Code verwenden
- Wenn du zwei SHA-1-Hashes im Code vergleichst, verwende eine zeitkonstante Gleichheitsprüfung — Node.js
crypto.timingSafeEqual(), Pythonhmac.compare_digest()— statt naivem String-Vergleich (=== oder ==). Naiver Vergleich gibt Timing-Informationen preis, die es einem Angreifer theoretisch ermöglichen, den erwarteten Hash Byte für Byte zu rekonstruieren.
SHA-1 FAQ
Ist SHA-1 noch sicher zu verwenden?
Warum verwendet Git noch SHA-1?
--object-format=sha256-Unterstützung hinzufügte. GitHub und große Forges führen SHA-256-Modus schrittweise ein. Bestehende Repositories können konvertiert werden, aber die Migration ist komplex wegen der Milliarden bestehender Commit-IDs. Vorerst ist SHA-1 die Art, wie der Großteil der Git-Historie gespeichert wird, was dieses Tool zur Kreuzprüfung von Commit-Objekt-Hashes nützlich macht. Sollte ich von SHA-1 zu SHA-256 migrieren?
Was war der SHAttered-Angriff?
Können SHA-1-Kollisionen zufällig auftreten?
Ist SHA-1 für nicht-sicherheitsbezogene Zwecke wie Prüfsummen in Ordnung?
Wie lang ist ein SHA-1-Hash?
Werden meine Eingaben an einen Server gesendet?
crypto.subtle.digest('SHA-1', data)) berechnet. Öffne Entwicklertools → Netzwerk-Tab während des Hashens — du siehst null ausgehende Anfragen. Eingespielten Dateien werden per FileReader API gelesen und lokal gehasht; die Bytes verlassen dein Gerät nie. Dies macht das Tool sicher für das Hashen vertraulicher Dokumente, Legacy-Zertifikate oder proprietären Quellcode-Fingerprints. Warum unterscheidet sich meine SHA-1-Ausgabe von sha1sum auf der Kommandozeile?
echo 'hello' | sha1sum enthält ein Zeilenumbruchzeichen (\n) nach 'hello' und hasht damit 'hello\n' statt 'hello'. Verwende echo -n 'hello' | sha1sum oder printf '%s' 'hello' | sha1sum, um es zu entfernen. Weitere häufige Ursachen: Windows-Zeilenenden (\r\n vs. \n), UTF-8-BOM am Dateianfang oder Kodierungsunterschiede (UTF-8 vs. Latin-1). Dieses Tool kodiert Eingaben als UTF-8 ohne BOM vor dem Hashen. Verwandte Werkzeuge
Alle Werkzeuge anzeigen →JWT-Dekodierer
Sicherheitswerkzeuge
Dekodieren Sie JWT-Token online mit unserem kostenlosen JWT-Dekodierer. Inspizieren Sie sofort Header, Payload, Signatur, Ablauf und Claims. 100 % Browser — Ihr Token verlässt niemals Ihr Gerät. Keine Anmeldung, kein Tracking.
MD5-Hash-Generator & Datei-Prüfsummen-Tool
Sicherheitswerkzeuge
MD5-, SHA-256-, SHA-1- & SHA-512-Hashes online kostenlos generieren. Text oder Dateien im Browser hashen, Prüfsummen verifizieren und Ergebnisse kopieren. Ohne Anmeldung.
Zufallspasswort-Generator — Anpassbar, Stark & Sicher
Sicherheitswerkzeuge
Starke Zufallspasswörter sofort generieren — kostenlos, ohne Anmeldung, 100 % im Browser. Länge & Zeichentypen anpassen, bis zu 50 auf einmal. Stärkeanzeige mit Entropie-Analyse.
SHA-256 Hash Generator & Prüfsummen-Tool
Sicherheitswerkzeuge
SHA-256-Hashes online kostenlos generieren. Text oder Dateien im Browser hashen, Prüfsummen verifizieren und 64-Zeichen-Hex-Ausgabe kopieren. Ohne Anmeldung; Daten verlassen die Seite nicht.
SHA-3 Hash Generator (Keccak SHA3-256)
Sicherheitswerkzeuge
SHA-3-Hashes online kostenlos generieren. NIST FIPS 202-Schwamm-Konstruktion — der Post-SHA-2-Standard. SHA3-256-Ausgabe in 64 Hex-Zeichen. Browser-only via js-sha3; keine Uploads.
SHA-384 Hash Generator (TLS Suite B Hash)
Sicherheitswerkzeuge
SHA-384-Hashes online generieren — 96-Zeichen-Hex-Ausgabe, längenextensions-immun, NSA Suite B-konform. Mit AES-256-GCM in TLS kombiniert. Alles Hashing läuft im Browser via Web Crypto API.