Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
Füge Text ein und bekomme seinen SHA-256. Das ist der Hash, zu dem man greift, wenn man die Wahl hat: ungebrochen, überall unterstützt und derjenige unter TLS-Zertifikaten, Subresource Integrity und jeder Lockdatei, die du je gelesen hast. Die Arbeit erledigt die eingebaute Kryptografie deines Browsers, kein von uns geschriebenes Skript.
Wo es läuft
Es wird nichts hochgeladen, weil es keine Datei gibt — gerechnet wird in dieser Seite.
Keine Warteschlange, kein Konto
Es antwortet so schnell, wie dein Rechner es hergibt, und fragt nie, wer du bist.
So oft du willst
Nichts wird gezählt und nichts begrenzt — noch einmal zu antworten kostet uns nichts.
SHA-256 hat keine praktisch nutzbare Kollision, kein Längenerweiterungsproblem in der Art, wie es üblicherweise eingesetzt wird, und Hardwarebeschleunigung in praktisch jedem Prozessor des letzten Jahrzehnts. Damit werden Zertifikate signiert, damit füllt Subresource Integrity das `integrity`-Attribut, damit rechnet eine Lockdatei, und darauf ist Bitcoin gebaut.
Das ist kein Argument aus Beliebtheit, sondern aus Prüfung: An einem so weit verbreiteten Verfahren wurde mehr Aufwand zum Brechen investiert als an irgendeiner Alternative, und es hat gehalten. Aus Cleverness etwas Selteneres zu wählen ist der Weg, mit dem man bei einem Grundbaustein landet, den niemand geprüft hat.
Der Hash kommt von `crypto.subtle`, der eingebauten Kryptografie des Browsers, umgesetzt in demselben nativen Code, der auch Zertifikate prüft. Die MD5-Seite ist die Ausnahme auf dieser Website: Dort ist die Funktion ausgeschrieben, weil der Web-Crypto-Standard MD5 bewusst nicht anbietet.
Diesen Unterschied auszusprechen lohnt sich. Eine in JavaScript geschriebene Hashfunktion kann korrekt sein, und diese Website prüft ihre eine gegen RFC 1321 — aber für alles, was noch Sicherheitseigenschaften hat, ist die richtige Antwort die, die der Browser ohnehin mitbringt und gepflegt bekommt.
Es gibt keinen Schlüssel und nichts umzukehren. Ein Hash ist ein Fingerabdruck: Dieselbe Eingabe erzeugt ihn immer, eine andere mit an Sicherheit grenzender Wahrscheinlichkeit nicht. Die Eingabe bekommt man nicht zurück — und man kann sie durch Hashen auch nicht verbergen, denn was erratbar ist, kann ein Angreifer selbst hashen und vergleichen.
Das ist der Denkfehler hinter sehr vielen gehashten E-Mail-Adressen und Telefonnummern, die als anonymisiert gelten. Es gibt nur endlich viele Telefonnummern; sie alle zu hashen dauert Minuten. Ein Hash anonymisiert nichts, was aus einer kleinen oder aufzählbaren Menge stammt.
Passwörter, wieder und aus demselben Grund wie bei MD5: Er ist schnell. Die Hardwarebeschleunigung macht ihn noch schneller, was zum Prüfen eines Zertifikats hervorragend und gegen einen Rateangriff genau falsch ist. Passwortspeicherung will bcrypt, scrypt oder Argon2 — alle absichtlich langsam und einstellbar.
Nachrichtenauthentifizierung ist die zweite. Ein Geheimnis zusammen mit einer Nachricht zu hashen ist ein Muster mit echten Fallstricken, und HMAC existiert, um sie zu vermeiden — das ist die Konstruktion, die man nimmt, und `crypto.subtle` bietet sie an. Ein einfacher Hash über „Schlüssel plus Nachricht“ ist eine bekannte Art, das falsch zu machen.
Zuerst die Kodierung. Hier werden UTF-8-Bytes gehasht, und ein System, das denselben Text in einer anderen Kodierung gespeichert hat, erzeugt für scheinbar dieselbe Zeichenkette einen anderen Hash. Zweitens ein abschließender Zeilenumbruch — eine Datei endet meist mit einem, ein Textfeld nicht, und das reicht, um jedes Zeichen des Ergebnisses zu ändern.
Beides lohnt sich zu prüfen, bevor man etwas für kaputt hält, denn ein Hash gibt keine Teilpunkte. Zwei Hashes stimmen entweder überein oder haben nichts gemeinsam; es gibt kein Gefälle, das dir sagt, dass du fast richtig liegst, und jeder Beinahe-Treffer sieht aus wie ein Totalausfall.
SHA-256 ist immer vierundsechzig Hexziffern, unabhängig von der Eingabe. MD5 sind zweiunddreißig, SHA-1 vierzig, SHA-512 hundertachtundzwanzig. Die Zeichen zu zählen ist die schnellste Art herauszufinden, aus welchem Verfahren ein Hash stammt, wenn die Dokumentation es nicht sagt.
Ebenso eine schnelle Prüfung für eine gespeicherte Spalte. Ein Feld, das SHA-256 halten soll und vierzig Zeichen enthält, hält SHA-1 — und das ist keine Formatierungslaune, sondern heißt, dass etwas in der Kette nie mitaktualisiert wurde.
SHA-2 ist die Familie, SHA-256 ein Mitglied darin, neben SHA-224, SHA-384 und SHA-512. Wenn Dokumentation „SHA-2“ ohne Zahl schreibt, meint sie fast immer SHA-256, weil das der allgemein benutzte ist.
SHA-3 ist etwas völlig anderes: eine eigene Konstruktion aus einem Wettbewerb, nicht der Nachfolger von SHA-2 im Sinne eines Ersatzes. Sie existiert als Rückversicherung, falls SHA-2 je fällt, und wird deshalb kaum eingesetzt. Wer heute wählt, wählt SHA-256, und das ist keine Bequemlichkeit.
Im Fingerabdruck eines TLS-Zertifikats. Im `integrity`-Attribut eines `<script>`-Tags, mit dem ein Browser prüft, dass eine von einem CDN geladene Datei unverändert ist. In `package-lock.json` und `composer.lock`, wo jede Abhängigkeit mit ihrem Hash steht. In Docker-Image-Digests. In den Prüfsummen, die Linux-Distributionen neben ihre Abbilder schreiben.
Was diese Fälle verbindet: Es geht um Integrität und nicht um Geheimhaltung. Jemand will wissen, ob er genau das bekommen hat, was gemeint war — und dafür ist ein Hash das richtige Werkzeug, während er für „niemand darf das sehen“ das falsche ist.
Für Dateien gibt es auf dieser Website eine eigene Prüfsummen-Seite mit einem Ablagefeld, und sie beantwortet eine andere Frage: „ist dieser Download unverändert angekommen“. Diese Seite beantwortet „welchen Hash hat dieser Wert“ — ein Feld in einer Datenbank, ein Payload vor dem Signieren, eine Kennung, die deterministisch entstehen soll.
Beides in eine Seite zu legen hieße, jedem die Hälfte der Oberfläche als totes Gewicht hinzustellen. Der Algorithmus ist in beiden Fällen derselbe und kommt in beiden Fällen aus derselben eingebauten Kryptografie; nur die Frage unterscheidet sich, und danach richten sich die Seiten.
Ein Unix-Werkzeug schreibt am Dateiende einen Zeilenumbruch, ein Textfeld nicht. Der SHA-256 einer Datei mit einem Wort darin unterscheidet sich deshalb vom SHA-256 desselben Worts aus diesem Feld — vollständig, denn ein Hash gibt keine Teilpunkte und ein einziges zusätzliches Byte ändert jedes Zeichen des Ergebnisses.
Wer gegen `sha256sum` abgleicht, sollte das zuerst prüfen, noch vor der Kodierung. Beide Ursachen sehen identisch aus — zwei Werte, die nichts gemeinsam haben —, und beide lassen sich in einer Minute ausschließen, während die Suche nach einem vermeintlichen Implementierungsfehler einen Nachmittag kostet.
Ein längerer Hash klingt nach mehr Schutz, und in dem Bereich, in dem SHA-2 arbeitet, ist er es nicht. Gegen Kollisionen zählt die halbe Bitlänge — 128 Bit bei SHA-256 —, und 2^128 Versuche sind jenseits von allem, was Energie und Zeit hergeben. SHA-512 verschiebt eine Grenze, die niemand erreicht.
Deshalb ist die Wahl zwischen beiden praktisch: SHA-512 ist auf 64-Bit-Hardware schneller, SHA-256 ist der Wert, den jedes andere System erwartet. Wer nicht gerade sehr große Datenmengen hasht, nimmt den, mit dem er zusammenarbeiten muss — und das ist fast immer SHA-256.
Für Integrität und Fingerabdrücke ja — es gibt keine praktisch nutzbare Kollision, und Zertifikate, Subresource Integrity und Lockdateien verlassen sich darauf. Für Passwortspeicherung nein, und nicht weil er schwach wäre: Er ist schnell, und Passwort-Hashing braucht ein absichtlich langsames Verfahren.
Durch Umkehren nicht. Hashen verbirgt aber nichts, was aus einer kleinen Menge stammt — ein Angreifer, der deine Eingabe vermutet, hasht seine Vermutung und vergleicht. Gehashte E-Mail-Adressen und Telefonnummern sind genau deshalb nicht anonym.
SHA-2 ist die Familie, SHA-256 ein Mitglied darin, neben SHA-224, SHA-384 und SHA-512. Wenn Dokumentation SHA-2 ohne Zahl schreibt, ist fast immer SHA-256 gemeint, weil das der allgemein benutzte ist.
Aus Sicherheitsgründen gibt es keinen Anlass. Er ist auf 64-Bit-Hardware schneller und liefert einen längeren Hash, aber SHA-256 ist ungebrochen und überall unterstützt, und ein längerer Hash ist gegen keinen existierenden Angriff eine stärkere Garantie. Richte dich danach, womit du zusammenarbeitest.
Nein. Der Hash entsteht durch die eingebaute Kryptografie deines Browsers in dieser Seite, und das Netzwerk-Panel zeigt nichts, was deine Eingabe trägt. Was gehasht wird, sind häufig Geheimnisse und Kennungen — genau die Kategorie, die nicht reisen sollte.