SHA-1 Hash Generator

SHA-1-Hashes mit 160 Bit generieren — die Hashfunktion hinter Git

Teilen:

SHA-1 Hash Generator

Die 160-Bit-Digest-Funktion, die Git antreibt

SHA-1 (Secure Hash Algorithm 1) ist eine kryptographische Hashfunktion der NSA, die einen 160-Bit-Digest (40 Hex-Zeichen) erzeugt. Obwohl praktische Kollisionen 2017 nachgewiesen wurden, wird SHA-1 weiterhin in Git zur Commit-Identifikation verwendet.

Was ist SHA-1?

SHA-1 verarbeitet Daten in 512-Bit-Blöcken über 80 Runden von Operationen. Es erweitert einen 16-Wort-Nachrichtenplan auf 80 Wörter und wendet bitweise logische Operationen, modulare Additionen und zyklische Rotationen an.

✅ Eigenschaften von SHA-1

  • Git VCS: Identifiziert jeden Commit und jedes Objekt in Git-Repositories
  • 160-Bit-Ausgabe: 40-stelliger Hex-Digest
  • Breit unterstützt: Universell in allen Programmiersprachen verfügbar
  • Schnell: Schnelle Berechnung mit Hardware-Unterstützung

📊 Häufige Anwendungsfälle

  • Git: Commit-Identifikation, Branching und Merging
  • Dateiprüfsummen: Integritätsverifizierung
  • Legacy-Systeme: Ältere SSL/TLS-Zertifikate
  • Fingerprinting: Inhaltsidentifikation

⚠️ Abkündigungshinweis

SHA-1 ist kryptographisch veraltet. Google und CWI Amsterdam haben im Februar 2017 praktische Kollisionen nachgewiesen (SHAttered-Angriff). Verwenden Sie SHA-256 oder höher.

🔄 SHA-1 im Vergleich

🔵

MD5

128 Bit

Gebrochen — nicht verwenden

🟢

SHA-1

160 Bit

Veraltet — bekannte Kollisionen

🟡

SHA-256

256 Bit

Sicher — empfohlen

❓ Häufig gestellte Fragen

Ist SHA-1 noch sicher?

Nein. Praktische Kollisionen wurden 2017 nachgewiesen. SHA-1 wird nicht mehr für digitale Signaturen oder Zertifikate akzeptiert.

Warum verwendet Git noch SHA-1?

Die Geschwindigkeit von SHA-1 und die Tatsache, dass Git es nicht im kryptographischen Sinne für Sicherheit nutzt, machten die Migration weniger dringend. Git migriert schrittweise zu SHA-256.

Was sollte statt SHA-1 verwendet werden?

Verwenden Sie SHA-256 für die meisten Anwendungen. Es bietet 128 Bit Kollisionsresistenz ohne bekannte praktische Angriffe.