Digest-Zeilen haben die Form „ALGORITHMUS Hash“, damit Sie sie in Versionshinweise oder Download-Manifeste kopieren können.
Hash-Generator — jeder Algorithmus von Grund auf erklärt
In einem Satz: Eine kryptografische Hashfunktion ist ein Einweg-Mixer — sie nimmt beliebig viele Bytes und presst sie in einen Fingerabdruck fester Länge, sodass dieselbe Eingabe immer denselben Fingerabdruck ergibt, der Fingerabdruck Ihnen aber nicht verrät, wie die Eingabe zu rekonstruieren wäre. Diese Seite führt elf davon vollständig im Tab Ihres Browsers aus.
Jeder Algorithmus unten wird in denselben vier Schritten erklärt: was er mit einfachen Worten ist, die Anschauung, wie er ohne Formeln funktioniert, ob Sie ihn heute noch verwenden sollten und die Fehler, die Menschen damit am häufigsten machen.
MD5
Was es ist. MD5 (1992) komprimiert beliebige Eingaben in einen 128-Bit-Fingerabdruck (32 Hexzeichen). Es wurde für schnelle Computer der 1990er entworfen, und genau deshalb ist es noch überall: auf Software-Download-Seiten, in Deduplizierungs-Caches, in Legacy-Datenbankschlüsseln.
Wie es funktioniert, anschaulich. Die Eingabe wird in 64-Byte-Blöcke zerlegt. Jeder Block wird viermal in einen 128-Bit-Zustand eingerührt (vier leicht unterschiedliche Mischrunden), und nach dem letzten Block wird der Zustand als Digest ausgegeben. Das Umrühren besteht aus Additionen, Rotationen und Tabellenzugriffen — damals günstig, heute günstig.
Sollten Sie es verwenden? Für Prüfsummen, bei denen niemand versucht, Sie zu betrügen — etwa zur Erkennung eines beschädigten Downloads oder zum Finden doppelter Dateien — ja, es meldet Beschädigungen weiterhin einwandfrei. Für alles mit Angreifern nein: Seit 2004 können Forscher in Sekunden zwei verschiedene Dateien mit demselben MD5 erzeugen, und echte Zertifikatsfälschungen mit MD5-Kollisionen gab es 2008. Behandeln Sie es als Seriennummer, nicht als Schloss.
Häufige Fehler. MD5 für Passwörter zu verwenden (viel zu schnell — was stattdessen dorthin gehört, zeigt der Passwort-Hash-Generator); einer Datei zu vertrauen, weil „der MD5 stimmt“, obwohl der Angreifer den MD5 ebenfalls veröffentlicht hat; und die ganze Zeile MD5 (Datei) = Hash einzufügen statt nur den Hash — das Feld Prüfen oben akzeptiert beides.
SHA-1
Was es ist. SHA-1 (1995, NSA) liefert einen 160-Bit-Digest (40 Hexzeichen). Zwanzig Jahre lang war es der Standard-Integritätshash von Git, TLS-Zertifikaten und PGP-Signaturen.
Wie es funktioniert, anschaulich. Dasselbe Familienrezept wie MD5, aber mit 160-Bit-Zustand, 80 Mischrunden pro 64-Byte-Block und einer breiteren Menge an Operationen. Die zusätzlichen Runden sollten den Mixer schwerer rückentwickelbar machen.
Sollten Sie es verwenden? Nein, für alles mit Angreifern. Der theoretische Bruch wurde 2017 praktisch, als Google zwei verschiedene PDFs mit identischen SHA-1-Werten erzeugte (der SHAttered-Angriff, rund 6500 CPU-Jahre). Git speichert Objekte weiterhin unter SHA-1, behandelt es aber nur als Kennung und hat inzwischen eine Kollisionserkennung ergänzt. Für neue Arbeiten verwenden Sie SHA-256 oder SHA-3.
Häufige Fehler. Zu glauben, 160 Bit seien „noch lang genug“ — der Bruch betrifft die innere Struktur, nicht rohe Gewalt; und RIPEMD-160 mit SHA-1 zu verwechseln, weil beide 40 Hexzeichen lang sind (das Identifikationsfeld oben unterscheidet sie).
SHA-2: SHA-256, SHA-384 und SHA-512
Was es ist. Die SHA-2-Familie (2001, NSA) ist das Arbeitspferd der modernen Integritätsprüfung. SHA-256 liefert 256 Bit (64 Hexzeichen), SHA-512 512 Bit, und SHA-384 ist SHA-512 mit auf 384 Bit gekürztem Ergebnis — nützlich, wenn ein Protokoll eine kürzere Markierung vorschreibt.
Wie es funktioniert, anschaulich. Blöcke zu 64 Byte (oder 128 Byte für die 512-Bit-Varianten) werden in 64 (bzw. 80) Runden aus Addieren, Rotieren und Mischen in einen Zustand aus 8 Wörtern gefaltet. Anders als bei MD5 streckt der Ablaufplan jeden Block zuerst in einen erweiterten Puffer, und genau das hat die Angriffsart vereitelt, die MD5 und SHA-1 brach. Eine Kuriosität: Auf 64-Bit-CPUs ist SHA-512 schneller als SHA-256, weil es mit 64-Bit-Arithmetik pro Runde die doppelte Datenmenge verarbeitet.
Sollten Sie es verwenden? Ja — SHA-256 ist heute die Standardantwort für Dateiprüfsummen, Code-Signierung und Zertifikats-Fingerabdrücke, ohne bekannten praktischen Bruch nach zwei Jahrzehnten Analyse. Verwenden Sie SHA-384/512, wenn Sie mehr Spielraum wollen oder wenn die Plattform sie schneller ausführt.
Häufige Fehler. SHA-256 allein für Passwörter zu verwenden — es ist ein schneller Hash, und Geschwindigkeit ist dort der Feind (verwenden Sie bcrypt/scrypt/Argon2id); und die Digest-Länge mit Stärke bei Kollisionsresistenz zu verwechseln — die Länge setzt nur die Obergrenze.
SHA-3 (SHA3-256 / SHA3-512) und Keccak-256
Was es ist. SHA-3 (2015, aus der Keccak-Einreichung von Bertoni, Daemen, Peeters und Van Assche standardisiert) ist der dritte NIST-Hash-Standard. Es teilt nichts mit den SHA-2-Interna — es wurde gerade deshalb gewählt, um ein unabhängiger Ersatz zu sein, falls SHA-2 jemals fällt.
Wie es funktioniert, anschaulich. Statt Blöcke durch einen kleinen Zustand zu rühren, „saugt und presst“ Keccak wiederholt: Die Eingabe wird Bit für Bit in einen 5×5×64-Bit-Schwamm aufgenommen, der gesamte Schwamm wird durch eine feste Permutation durchgemischt (24 Runden bitweiser Operationen über den gesamten Zustand), und danach werden Digest-Bits herausgepresst. Das Schwamm-Bild ist die ganze Idee: Kapazitätsbits werden nie ausgegeben, und genau sie machen die Funktion einweg.
Keccak-256 vs. SHA3-256. Sie unterscheiden sich in genau einem Padding-Byte. Die ursprüngliche Einreichung des Keccak-Teams füllte den letzten Block mit 0x01; das NIST änderte das Standard-Padding auf 0x06 (Domänentrennung, die Keccak in der SHA-2-Ära nutzt). Ethereum übernahm das ursprüngliche Padding, daher unterscheidet sich sein „keccak256“ für jede Eingabe vom Standard-SHA3-256. Diese Seite bietet beide an, getrennt markierbar.
Sollten Sie es verwenden? Ja — entweder als Hauptwahl, wenn eine Richtlinie einen Nicht-SHA-2-Algorithmus verlangt, oder überall dort, wo das Ökosystem ihn bereits spricht. Häufige Fehler: anzunehmen, SHA3-256 und Keccak-256 seien austauschbar (sind sie nicht — vergleichen Sie die beiden Zeilen, die diese Seite für dieselbe Eingabe erzeugt); und anzunehmen, „SHA-3“ ersetze SHA-2 — beide sind sicher, SHA-2 ist weiterhin das weiter verbreitete.
RIPEMD-160
Was es ist. RIPEMD-160 (1996, das Konsortium RIPE europäischer Akademiker, verstärkt durch Dobbertin, Bosselaers und Preneel) liefert 160 Bit. Es ist ein vollständig europäisches Design, bewusst unabhängig von der von der NSA entworfenen SHA-Familie.
Wie es funktioniert, anschaulich. Jeder 64-Byte-Block wird von zwei parallelen Linien mit je 80 Runden verarbeitet, mit unterschiedlichen Konstanten und Rotationsbeträgen; am Ende werden die beiden Linien und der alte Zustand kombiniert. Die Zwei-Spur-Struktur war der Weg der Entwickler, den differentiellen Angriffen zu widerstehen, die andere Hashes der 1990er brachen.
Sollten Sie es verwenden? In der Praxis überlebt es vor allem in anderen Systemen: Bitcoin-Adressen hashen ihre öffentlichen Schlüssel mit RIPEMD-160(SHA-256(pk)), ältere OpenPGP-Schlüssel bieten es als Hash-Option an, und es ist der traditionelle Hash für BitTorrent-v1-Teile neben SHA-1. Es hat keinen praktischen Kollisionsangriff, aber die 160-Bit-Größe gibt ihm den kleinsten Sicherheitsspielraum auf dieser Seite. Für neue eigenständige Verwendung bevorzugen Sie SHA-256 oder SHA-3.
Häufige Fehler. Zu glauben, die zwei parallelen Linien machten es „doppelt so stark“ — die Ausgabegröße begrenzt die Kollisionsresistenz; und es mit SHA-1 zu verwechseln (gleiche Länge von 40 Hexzeichen; das Identifikationsfeld oben listet beide Möglichkeiten nebeneinander).
BLAKE2b-512 und BLAKE2s-256
Was es ist. BLAKE2 (2013, Aumasson, Neves, Wilcox-O’Hearn und Winnerlein) ist ein Hash, der für Software-Geschwindigkeit entworfen wurde: BLAKE2b zielt auf 64-Bit-Plattformen mit bis zu 512-Bit-Ausgabe, BLAKE2s auf 32-Bit-Plattformen mit bis zu 256-Bit-Ausgabe.
Wie es funktioniert, anschaulich. Es stammt vom SHA-3-Finalisten BLAKE ab, dessen Kern eine geschlüsselte Permutation ist, die vom Stromchiffre ChaCha übernommen wurde: Eine 4×4-Matrix aus Wörtern wird durch abwechselnde Spalten- und Diagonalmischschritte durcheinandergewürfelt — wie ein Raster, das zuerst von oben nach unten und dann entlang der Diagonalen gemischt wird — und zwar 12 (BLAKE2b) bzw. 10 (BLAKE2s) Runden pro Block. Weil diese Schritte sich hervorragend auf CPU-Befehle abbilden lassen, ist BLAKE2 oft schneller als MD5, bietet dabei aber eine mit SHA-3 vergleichbare Sicherheit.
Sollten Sie es verwenden? Ja — es ist ein durchweg modernes, ungebrochenes Design, beliebt in leistungskritischer Software (Paketintegrität in manchen Ökosystemen, inhaltsadressierter Speicher, Deduplizierung bei Backups) und als schneller MAC. Auf dieser Seite liefert BLAKE2b-512 die längsten Digests und BLAKE2s-256 die kompakte moderne Option.
Häufige Fehler. Zu glauben, „schneller heißt schwächer“ — BLAKE2 ist durch sein Design schneller, nicht durch Abkürzungen; und nicht zu wissen, dass BLAKE2 auch einen Schlüssel (dann ein MAC) oder eine Personalisierungszeichenkette akzeptiert — diese Seite verwendet es immer im einfachen, ungeschlüsselten Modus.
Die Felder Prüfen und Identifizieren lesen
Prüfen. Das Prüffeld normalisiert alles, was Sie einfügen — Groß- oder Kleinschreibung, Doppelpunkte alle zwei Ziffern, ein sha256=-Präfix, die BSD-artige Hülle SHA256 (Datei) = Hash, eine GNU-md5sum-Zeile mit dem Dateinamen nach dem Hash, überflüssige \r\n — berechnet dann jeden markierten Algorithmus über Ihre aktuelle Eingabe (Text oder gewählte Datei) neu und meldet jeden passenden Algorithmus. Ein grüner Treffer heißt „diese Bytes sind genau das, was der Herausgeber gehasht hat“; rot heißt, keiner der markierten Algorithmen hat ihn erzeugt — markieren Sie mehr Algorithmen oder prüfen Sie, ob der Einfügevorgang abgeschnitten wurde.
Identifizieren. Das Identifikationsfeld berechnet keinen Hash; es liest die Form der Zeichenfolge. Die Länge grenzt die Kandidaten ein: 32 Hexzeichen könnten MD5 sein, 40 SHA-1 oder RIPEMD-160, 64 SHA-256 / SHA3-256 / Keccak-256 / BLAKE2s-256, 96 SHA-384, 128 SHA-512 / SHA3-512 / BLAKE2b-512. Präfixe verraten Passwort-Hashes ($2a$/$2b$/$2y$ bcrypt, $argon2id$, $scrypt$, $6$ sha512crypt, $1$ MD5-crypt) — das sind eine andere Art (siehe den Passwort-Hash-Generator) und werden auf dieser Seite bewusst nicht berechnet. Eine Zeichenfolge mit +, / und = und einer Länge, die ein Vielfaches von 4 ist, ist eher Base64-kodierte Daten als ein Hex-Digest; das Werkzeug dekodiert sie und meldet die Byte-Länge, die dem entspricht.
Was die Identifikation sagen kann und was nicht. Länge und Zeichensatz sind Fingerabdrücke des Formats, kein Beweis für den Algorithmus: Zwei Zeichenfolgen mit je 64 Hexzeichen können von SHA-256 oder von gekürztem SHA-512 stammen. Das Identifikationsfeld ordnet die Möglichkeiten; das Feld Prüfen ist dasjenige, das beweist, welchem Algorithmus Ihre Bytes tatsächlich entsprechen.
Alle elf auf einen Blick
| Algorithmus |
Digest |
Erfunden |
Digest von „The quick brown fox jumps over the lazy dog“ |
| MD5 | 128 Bit | 1992 | 9e107d9d372bb6826bd81d3542a419d6 |
| SHA-1 | 160 Bit | 1995 | 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 |
| SHA-256 | 256 Bit | 2001 | d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592 |
| SHA-384 | 384 Bit | 2001 | ca737f1014a48f4c0b6dd43cb177b0afd9e5169367544c494011e3317dbf9a509cb1e5dc1e85a941bbee3d7f2afbc9b1 |
| SHA-512 | 512 Bit | 2001 | 07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb642e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6 |
| SHA3-256 | 256 Bit | 2015 | 69070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a0897dfc04 |
| SHA3-512 | 512 Bit | 2015 | 01dedd5de4ef14642445ba5f5b97c15e47b9ad931326e4b0727cd94cefc44fff23f07bf543139939b49128caf436dc1bdee54fcb24023a08d9403f9b4bf0d450 |
| Keccak-256 | 256 Bit | vor 2015 | 4d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15 |
| RIPEMD-160 | 160 Bit | 1996 | 37f332f68db77bd9d7edd4969571ad671cf9dd3b |
| BLAKE2b-512 | 512 Bit | 2013 | a8add4bdddfd93e4877d2746e62817b116364a1fa7bc148d95090bc7333b3673f82401cf7aa2e4cb1ecd90296e3f14cb5413f8ed77be73045b13914cdcd6a918 |
| BLAKE2s-256 | 256 Bit | 2013 | 606beeec743ccbeff6cbcdf5d5302aa855c256c29b88c8ed331ea1a6bf3c8812 |
Jeder Digest in der obigen Tabelle wird von den Engines dieser Seite erzeugt — markieren Sie alle Algorithmen, klicken Sie auf Beispiel und vergleichen Sie. Die Zeilen SHA-3, Keccak, RIPEMD-160 und BLAKE2 stammen aus dem selbst gehosteten Kern crypto-shared.js, der über die Krypto-Werkzeuge dieser Website hinweg genutzt wird.
FAQ
Welchem Feld soll ich bei einem Download vertrauen? Dem Feld Prüfen mit angekreuztem SHA-256 — die meisten Herausgeber signieren heute SHA-256 oder SHA-512. Das Feld Identifizieren nennt nur Kandidaten; es beweist nie etwas über Ihre Datei.
Warum steht Keccak-256 überhaupt in der Liste? Weil Ethereum, Swarm und einige Ledger-Systeme den vor-standardisierten Padding-Mechanismus festgelegt haben. Wenn Sie einen Ethereum-keccak256 prüfen, müssen Sie diese Zeile verwenden, nicht SHA3-256.
Können zwei verschiedene Eingaben denselben Digest teilen? Theoretisch ja — unendlich viele Eingaben werden auf eine endliche Menge von Digests abgebildet (Schubfachprinzip). In der Praxis ist es das, worum es bei „Kollisionsresistenz“ geht: ein solches Paar vor dem Wärmetod des Universums zu finden. Jeder der obigen Algorithmen außer MD5 und SHA-1 hält dem stand.
Sind Hashes Verschlüsselung? Nein. Verschlüsselung ist mit einem Schlüssel umkehrbar; ein Hash ist ein Einweg-Mixer. Nichts auf dieser Seite kann zurück in Ihren Text „entschlüsselt“ werden — und das ist ein Merkmal, keine Einschränkung.