So funktioniert dieses Werkzeug
SHA-256 reduziert jede Eingabe auf einen festen 256-Bit-Fingerabdruck, geschrieben als vierundsechzig hexadezimale Zeichen. Dieselbe Eingabe ergibt stets denselben Wert, und jede noch so kleine Änderung — ein Zeichen, ein Bit — einen völlig anderen. Es ist konstruktionsbedingt einweg: Es gibt keinen Vorgang, der einen Wert zurück in den Text verwandelt, aus dem er stammt.
Gehasht wird mit der kryptografischen Implementierung des Browsers und nicht mit Code, der mit der Seite ausgeliefert wird — es ist also dieselbe geprüfte Implementierung, die auch der Rest der Plattform nutzt. Diese API steht nur in einem sicheren Kontext bereit, das Werkzeug setzt also voraus, dass die Seite über HTTPS ausgeliefert wird.
Wofür SHA-256 das Richtige ist
- Es prüft Unversehrtheit, nicht Identität: Den Wert einer Datei mit einem veröffentlichten zu vergleichen sagt Ihnen, dass die Datei unterwegs nicht verändert wurde. Über den Urheber sagt es nichts, sofern der Wert nicht selbst aus vertrauenswürdiger Quelle stammt.
- Für die Passwortspeicherung ist es das falsche Werkzeug: SHA-256 ist auf Geschwindigkeit ausgelegt — genau die Eigenschaft, die ein Angreifer beim Erraten von Passwörtern braucht. Passwortspeicherung verlangt eine absichtlich langsame Funktion wie bcrypt oder Argon2.
- Der Wert hat feste Länge, was auch hineingeht: Ein Zeichen und ein Gigabyte ergeben beide vierundsechzig hexadezimale Zeichen. Die Länge verrät nichts über die Größe des Gehashten.
- Gleiche Eingaben ergeben gleiche Werte: Das macht Hashing für Deduplizierung und Caching nützlich — und ist zugleich der Grund, warum das Hashen eines ungesalzenen Wertes ihn nicht verbirgt: Ein gängiger Wert lässt sich schlicht nachschlagen.