Skip to content

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.

Kein Tracking Läuft im Browser Kostenlos
⚠️ SHA-1 ist ein veralteter Algorithmus. Nutze SHA-256 für neue Aufgaben. Alles Hashing läuft lokal — keine Daten werden hochgeladen.
Algorithmus
Überprüft auf SHA-1-Korrektheit anhand von NIST FIPS 180-1-Testvektoren; Veraltungs-Framing verifiziert anhand von NIST SP 800-131A — Go Tools Engineering Team · May 28, 2026

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. 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. 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. 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(), Python hmac.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?
Nein. SHA-1 wurde 2005 theoretisch geschwächt, und im Februar 2017 demonstrierten Google und das CWI Amsterdam die erste praktische Kollision via SHAttered-Angriff — zwei verschiedene PDF-Dateien mit identischen SHA-1-Hashes. NIST erklärte SHA-1 für digitale Signaturen 2011 für veraltet (NIST SP 800-131A), und alle großen Browser und Zertifizierungsstellen stellten SHA-1-Zertifikate bis 2017 ein. SHA-1 ist gebrochen für jeden sicherheitssensitiven Einsatz: Signaturen, Zertifikate, Passwortspeicherung. Für alle neuen Aufgaben wechsle zu SHA-256.
Warum verwendet Git noch SHA-1?
Git nutzt SHA-1 für Objekt-IDs (Commit-Hashes, Tree-Hashes, Blob-Hashes), weil es 2005 entworfen wurde, als SHA-1 noch weitgehend vertrauenswürdig war. Gits Verwendung ist keine kryptografische Signatur — es ist ein Content-Addressing-Schema zur Erkennung versehentlicher Beschädigung, nicht vorsätzlicher Manipulation. Das Git-Projekt migriert seit Git 2.29 (2020), das --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?
Ja, für jedes sicherheitssensitive System. Konkrete Migrations-Checkliste: (1) TLS-Zertifikate — wenn du noch SHA-1-signierte Zertifikate hast, ersetze sie sofort; CAs stellen sowieso keine neuen aus. (2) API-Signaturen und HMACs — ersetze durch HMAC-SHA-256. (3) Als SHA-1 gespeicherte Passwort-Hashes — migriere zu bcrypt oder Argon2. (4) Dokument- oder Paket-Prüfsummen — veröffentliche mit SHA-256 neben oder anstelle von SHA-1. (5) Git-Repositories — wechsle für neue Repos in den SHA-256-Modus, wenn die Toolchain es unterstützt. Legacy-Prüfsummen bei archivierten Downloads können bleiben, da sie nur versehentliche Beschädigung erkennen müssen.
Was war der SHAttered-Angriff?
SHAttered (shattered.io, Februar 2017) war eine praktische SHA-1-Kollision, die von Google Security und dem CWI Amsterdam produziert wurde. Der Angriff kostete ca. 110 GPU-Jahre an Berechnung (~110.000 USD zu Cloud-Preisen von 2017) und erzeugte zwei verschiedene PDF-Dateien mit demselben SHA-1-Hash: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. Dies zerstörte die Annahme, dass SHA-1-Kollisionen nur theoretisch seien. Bis 2020 sank der Preis einer Chosen-Prefix-SHA-1-Kollision auf ~45.000 USD. Im Vergleich dazu wurde für SHA-256 noch nie eine Kollision irgendeiner Art gefunden.
Können SHA-1-Kollisionen zufällig auftreten?
Zufällig auf eine SHA-1-Kollision zu stoßen, ohne absichtliche Anstrengung, ist immer noch astronomisch unwahrscheinlich — es gibt 2^160 mögliche SHA-1-Werte, sodass die zufällige Kollisionswahrscheinlichkeit etwa 1 zu 10^24 für zwei gegebene Eingaben beträgt. Die Gefahr ist adversariell: ein entschlossener Angreifer kann heute für ca. 45.000 USD eine Kollision herbeiführen. Versehentliche Beschädigung der Git-Historie ist keine realistische Bedrohung durch SHA-1-Schwächen. Das eigentliche Risiko liegt bei digital signierten Dokumenten, Zertifikaten und Code-Signing-Workflows.
Ist SHA-1 für nicht-sicherheitsbezogene Zwecke wie Prüfsummen in Ordnung?
Zur Erkennung versehentlicher Datenbeschädigung — ein beschädigter Download, ein umgekipptes Bit auf der Festplatte — ist SHA-1 technisch noch ausreichend, da zufällige Kollisionen immer noch im Wesentlichen unmöglich sind. Allerdings gibt es kaum einen Grund, SHA-1 heute selbst für nicht-sicherheitsbezogene Prüfsummen zu verwenden, da SHA-256 nur marginal langsamer ist (hardwarebeschleunigt in allen modernen CPUs), universell unterstützt wird und zukunftssicher ist. Der einzige legitime Grund für SHA-1 heute ist die Interoperabilität mit einem Legacy-System, das nur 40-Zeichen-Hex-Fingerprints akzeptiert.
Wie lang ist ein SHA-1-Hash?
Ein SHA-1-Hash ist immer genau 160 Bit lang, dargestellt als 40 hexadezimale Zeichen (2 Hex-Zeichen pro Byte × 20 Bytes). Die Ausgabelänge ist unabhängig von der Eingabegröße fest — das Hashen eines einzelnen Zeichens oder einer 10-GB-Datei erzeugt genau 40 Hex-Zeichen. Zum Vergleich: MD5 erzeugt 32 Hex-Zeichen (128 Bit), SHA-256 erzeugt 64 Hex-Zeichen (256 Bit) und SHA-512 erzeugt 128 Hex-Zeichen (512 Bit).
Werden meine Eingaben an einen Server gesendet?
Nein. SHA-1 wird vollständig in deinem Browser mithilfe der Web Crypto API (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?
Fast immer ein abschließendes Zeilenumbruchzeichen. Der Shell-Befehl 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.