SHA-256-Hash-Generator

Berechnen Sie den SHA-256-Hashwert von Text, Hex-Bytes oder einer beliebigen Datei mit der Web Crypto API Ihres Browsers. Fügen Sie eine veröffentlichte Prüfsumme in das Feld „Vergleichen mit“ ein, um einen Download zu prüfen.

Alle Algorithmen

Läuft vollständig in Ihrem Browser. Es wird nichts hochgeladen.

Anleitung

  1. Geben Sie Text ein oder fügen Sie ihn ein, stellen Sie die Eingabe für Hex-Bytes auf „Hex“ um oder öffnen Sie mit „Datei öffnen“ die Datei, die Sie prüfen möchten.
  2. Lassen Sie unter „Algorithmus“ SHA-256 ausgewählt und wählen Sie unter „Ausgabe als“ „hex (Kleinbuchstaben)“, „HEX (Großbuchstaben)“ oder „Base64“.
  3. Fügen Sie die Prüfsumme von der Download-Seite in das Feld „Vergleichen mit“ ein. „Übereinstimmung“ bedeutet, dass die Datei identisch ist.
  4. Kopieren Sie das Ergebnis mit „Kopieren“ oder übernehmen Sie SHA-384, SHA-512 oder einen anderen Hashwert aus der Tabelle „Alle Algorithmen“.

Was ist SHA-256?

SHA-256 ist das am weitesten verbreitete Mitglied der SHA-2-Familie. Es wurde von der NSA entwickelt und 2002 vom NIST in FIPS 180-2 standardisiert. Heute ist es in FIPS 180-4 spezifiziert, und RFC 6234 beschreibt dieselben Algorithmen mit Referenzcode. SHA-256 verarbeitet 512-Bit-Blöcke in 64 Runden mit 32-Bit-Arithmetik und gibt einen 256-Bit-Hashwert aus: 64 Hex-Zeichen oder 44 Base64-Zeichen. Es ist kein praktischer Kollisions- oder Urbildangriff bekannt, und SHA-256 ist die Standardwahl für:

  • TLS-Zertifikate und -Handshakes sowie Codesignierung;
  • Bitcoin, das SHA-256 zweimal hintereinander für die Hashwerte der Blöcke, Proof of Work und Transaktions-IDs anwendet (die Prüfsumme in Base58Check-Adressen stammt aus derselben doppelten Hashberechnung);
  • Prüfsummendateien wie SHA256SUMS, Hashwerte von Container-Images (sha256:...) und Subresource Integrity.

Einen Download prüfen

Öffnen Sie die heruntergeladene Datei und fügen Sie die Prüfsumme des Herausgebers in das Feld „Vergleichen mit“ ein. Groß- und Kleinschreibung spielen keine Rolle, und auch ein Base64-Wert funktioniert. „Übereinstimmung“ bedeutet, dass die Datei Byte für Byte derjenigen entspricht, aus der die Prüfsumme erstellt wurde. Wer sie erstellt hat, beweist das nicht. Beziehen Sie die Prüfsumme deshalb von der HTTPS-Website des Herausgebers oder aus einer signierten SHA256SUMS-Datei und nicht von dem Mirror, der den Download ausgeliefert hat.

Bei Text wird der Hashwert über Bytes berechnet, nicht über Zeichen. Windows-Zeilenenden (CRLF), eine Byte Order Mark (BOM) oder UTF-16 statt UTF-8 erzeugen jeweils einen völlig anderen SHA-256-Hashwert. Verwenden Sie die Auswahl „Zeichenkodierung“ oder die Hex-Eingabe, um genau die Bytes zu hashen, die ein anderes System gehasht hat.

Length Extension und Passwörter

Wie MD5, SHA-1 und SHA-512 ist auch SHA-256 anfällig für Length-Extension-Angriffe: Wer SHA-256(secret + message) und die Länge des Geheimnisses kennt, kann einen gültigen Hashwert für diese Nachricht, gefolgt von Auffüllbytes und Daten seiner Wahl, berechnen, ohne das Geheimnis zu kennen. Um Daten mit einem Schlüssel zu signieren oder zu authentifizieren, verwenden Sie HMAC-SHA256 aus dem HMAC-Generator, statt Schlüssel und Nachricht gemeinsam zu hashen.

Die hohe Geschwindigkeit ist zudem der Grund, warum ein einfacher SHA-256-Hashwert der falsche Weg ist, Passwörter zu speichern: Wer an die Hashwerte gelangt, kann Vermutungen so schnell testen, wie seine Grafikkarten SHA-256 berechnen, und identische Passwörter ergeben identische Hashwerte. Verwenden Sie Argon2id, scrypt, bcrypt oder PBKDF2-HMAC-SHA256 mit einer hohen Iterationszahl; all diese Verfahren fügen ein Salt hinzu.

SHA-256 auf der Kommandozeile und im Code

$ printf 'abc' | sha256sum
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad  -

sha256sum -c SHA256SUMS                  # Linux: Liste von Dateien prüfen
shasum -a 256 file.iso                   # macOS
certutil -hashfile file.iso SHA256       # Windows
Get-FileHash file.iso                    # PowerShell (SHA256 ist Standard)

# Python
hashlib.sha256(data).hexdigest()

// Node.js
crypto.createHash('sha256').update(data).digest('hex')

Der Wert für abc ist der Testvektor aus dem Standard; geben Sie oben abc ein, um dasselbe Ergebnis zu sehen. Die Tabelle „Alle Algorithmen“ listet für Ihre Eingabe außerdem die SHA-384-, SHA-512-, SHA-1-, MD5- und CRC-Werte auf.

Beispiele

Eingabe (UTF-8)SHA-256
Hello, World!dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f
Base64.is63f2f446bc11a1f96175c0f77bdac08ca1b184ba42c3a42c34ddcbce00b1b800
你好670d9743542cae3ea7ebe36af56bd53648b0a1126162e78d81a32934a711302e

Häufig gestellte Fragen

Kann man SHA-256 entschlüsseln?

Nein. SHA-256 ist eine Einweg-Hashfunktion, keine Verschlüsselung. Online-„Entschlüssler“ schlagen Hashwerte nur in Tabellen bekannter Eingaben nach. Sie finden daher gängige Passwörter und kurze Strings, aber nichts Langes oder Zufälliges.

Warum stimmt mein SHA-256-Hashwert nicht mit der veröffentlichten Prüfsumme überein?

Meist ist der Download unvollständig oder eine andere Version, oder Sie haben den Dateinamen statt der Datei gehasht. Laden Sie die Datei selbst über „Datei öffnen“. Prüfen Sie außerdem, ob beide Werte denselben Algorithmus verwenden: Ein Hex-Wert mit 128 Zeichen stammt von einer 512-Bit-Hashfunktion wie SHA-512, nicht von SHA-256.

Wie erhalte ich einen SHA-256-Hashwert in Base64?
Wählen Sie unter „Ausgabe als“ „Base64“. Subresource Integrity (Werte mit sha256-, wobei sha384- häufiger ist) und der HTTP-Header Content-Digest verwenden diese Form. Hex und Base64 enthalten dieselben 32 Bytes; zwischen beiden wandeln Sie mit Base64 zu Hex um.
Ist SHA-256 dasselbe wie SHA-2?

SHA-2 ist eine Familie: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256. SHA-256 ist ihr gebräuchlichstes Mitglied. SHA-3 (FIPS 202) ist ein eigenständiges Verfahren auf Basis von Keccak und liefert andere Ergebnisse.

Wie lang ist ein SHA-256-Hashwert?
32 Bytes: 64 Hex-Zeichen oder 44 Base64-Zeichen, endend auf =. SHA3-256 und BLAKE2s haben dieselbe Länge; die Hash-Erkennung listet solche Kandidaten für einen unbekannten Hashwert auf.