SHA1-Hash-Generator

SHA-1 erzeugt einen 160-Bit (40 Hex-Zeichen) Hash und ist der Hash hinter Git-Objekt-IDs, Legacy-SVN-Prüfziffern und einer Reihe von Signatursystemen vor 2017. Füge beliebigen Text ein und du erhältst den deterministischen Hash. Eine große Warnung vorweg: SHA-1 ist für Kollisionsresistenz gebrochen (SHAttered, 2017) und darf nicht für neue Signaturen oder Passwortspeicher verwendet werden, es ist nur für nicht-adversarielle Integritätsprüfungen geeignet.

So berechnest du einen SHA-1-Hash

  1. 1

    Füge deinen Eingabetext ein

    Beliebiger Text, ein String, eine vollständige Datei als Text oder eine Hex-Sequenz.

  2. 2

    Kodierung ist UTF-8

    Die Eingabe wird vor dem Hashing als UTF-8-Bytes serialisiert, was dem Standard in OpenSSL, Python hashlib und Node crypto entspricht.

  3. 3

    Die Merkle-Damgård-Schleife läuft

    Die Nachricht wird gepolstert, in 512-Bit-Blöcke aufgeteilt und 80 Runden pro Block durch die SHA-1-Kompressionsfunktion geleitet.

  4. 4

    Kopiere den 40-Zeichen-Hex-Hash

    Die Ausgabe sind immer 40 Kleinbuchstaben-Hex-Zeichen (160 Bit).

SHA-1 auf einen Blick

Eigenschaft Wert
Ausgabengröße 160 Bit / 40 Hex-Zeichen
Blockgröße 512 Bit
Runden 80
Kollisionsresistenz Gebrochen (2^63 gewählter Präfix)
Preimage-Resistenz Intakt (zum Zeitpunkt des Schreibens)
Geschwindigkeit ~500 MB/s auf einem modernen Kern

Wo SHA-1 noch akzeptabel ist

  • Git. Commit- und Blob-IDs sind SHA-1 (mit SHA-256 als optional). Kollisionen würden die Historie verwirren, aber man kann keinen Commit ohne den Schlüssel des Autors fälschen.
  • Nicht-sicherheitsrelevante Dedup. Objekt-Speicher-Inhaltsadressierung, wo das Bedrohungsmodell keinen Angreifer umfasst.
  • Rückwärtskompatible APIs. Legacy-Webhooks wie GitHub’s X-Hub-Signature (v1).
  • Forensische Identifikatoren. Datei-Fingerabdrücke zur Deduplication über ein Archiv.

Wo SHA-1 nicht akzeptabel ist

  • TLS-Zertifikate. Browser haben SHA-1-Zertifikate seit 2017 nicht mehr vertraut.
  • Code-Signierung. Microsoft, Apple und Mozilla haben SHA-1-Signaturen abgelehnt.
  • Passwort-Hashing. Verwende Argon2id oder bcrypt.
  • HMAC in einem neuen Design. Verwende mindestens HMAC-SHA-256.

Wenn du die Ausgabe überprüfen möchtest

Vergleiche mit echo -n "hello" | sha1sum auf einem beliebigen Unix-System. Der Hash für den String hello ist aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d.

Häufig gestellte Fragen

Nicht mathematisch. Für gängige kurze Eingaben kann ein Angreifer mit einem vorcomputierten Wörterbuch sie sofort identifizieren, weshalb Hashes allein Passwörter nicht schützen. Für einen 40-Zeichen-zufälligen String gibt es keine praktische Umkehrung.

Nein. SHA (Secure Hash Algorithm) ist eine von NIST veröffentlichte Familie. SHA-1 ist der 160-Bit-Algorithmus von 1995. SHA-2 ist die Familie, die SHA-224, SHA-256, SHA-384 und SHA-512 umfasst.

Aus Kompatibilität mit über einem Jahrzehnt Geschichte. Seit 2017 härtet Git gegen gewählte Präfix-Kollisionen (SHA-1DC) und unterstützt SHA-256-Repositories für neue Projekte.

Auf unserem Server. Dein Text wird über eine verschlüsselte Verbindung gesendet, mit der Standard-SHA-1-Funktion gehasht und der 40-Zeichen-Hash zurückgegeben. Wir speichern den übermittelten Text nicht. Da SHA-1 eine Einwegfunktion ist, lässt sich der Hash selbst nicht wieder in deine Eingabe zurückverwandeln.

Verwandte Tools

Tool in anderen Sprachen verfügbar