SHA3-256 und SHA-3 Hash berechnen

SHA3-256, SHA3-512, Keccak-256 und SHAKE128 für Text, Hex-Bytes oder Dateien berechnen, mit eigener Implementierung nach FIPS 202.

–

 

VerfahrenHash (Hex)

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

SHA-3, Keccak und SHAKE im Überblick

SHA-3 ist der dritte Standard für kryptografische Hash-Funktionen des NIST (FIPS 202, 2015). Anders als SHA-1 und SHA-2 beruht er nicht auf der Merkle-Damgård-Konstruktion, sondern auf der Schwamm-Konstruktion (Sponge) der Keccak-Permutation. SHA3-256 liefert 256 Bit, SHA3-512 entsprechend 512 Bit. Dazu kommen SHAKE128 und SHAKE256, sogenannte XOFs, deren Ausgabe beliebig lang sein darf.

Wichtig für Entwicklerinnen und Entwickler: Keccak-256, wie es Ethereum und Solidity (keccak256) verwenden, ist nicht dasselbe wie SHA3-256. Keccak-256 nutzt die ursprüngliche Polsterung aus dem Wettbewerb, SHA3-256 die standardisierte. Bei gleicher Eingabe kommen völlig verschiedene Werte heraus; ein Keccak Hash von leerem Text beginnt mit c5d24601, der SHA-3 Hash von leerem Text mit a7ffc6f8.

Die Berechnung ist hier selbst implementiert und mit den Testvektoren aus FIPS 202 geprüft, etwa SHA3-256(„abc“) = 3a985da7…11431532. Text wird als UTF-8 gehasht, im Hex-Modus die Bytes direkt. Dateien liest der Browser lokal; sie werden nicht hochgeladen. SHA-256, SHA-512 und MD5 berechnet der Hash-Generator.

Anleitung: SHA3-256 in 4 Schritten

  1. Text oder Hex-Bytes ins Feld „Eingabe“ schreiben und festlegen, ob die Eingabe Text (UTF-8) oder Hex-Bytes ist.
  2. Unter „Hauptergebnis“ das Verfahren wählen, etwa SHA3-256, SHA3-512, Keccak-256 oder SHAKE128.
  3. Für SHAKE128 und SHAKE256 die Ausgabe in Bit festlegen.
  4. Alternativ eine Datei wählen, die nur lokal gelesen wird, und den SHA-3 Hash mit „Hauptergebnis kopieren“ übernehmen.

Typische Anwendungsfälle

  • Ethereum-Entwicklung: Den Keccak-256-Hash einer Funktionssignatur oder eines Event-Namens berechnen.
  • Implementierung testen: Eigene SHA-3-Funktionen gegen die Testvektoren aus FIPS 202 prüfen, etwa mit der Eingabe „abc“.
  • Prüfsumme einer Datei: Den SHA3-256- oder SHA3-512-Wert einer Datei mit einer veröffentlichten Prüfsumme vergleichen.
  • Schlüsselableitung und Protokolle: Mit SHAKE128 oder SHAKE256 Ausgaben beliebiger Länge erzeugen.
Fragen

Häufige Fragen

Ist Keccak-256 dasselbe wie SHA3-256?

Nein. Beide nutzen dieselbe Keccak-Permutation, aber eine andere Polsterung (0x01 bei Keccak, 0x06 bei SHA-3). Ethereum und Solidity verwenden Keccak-256, Standards wie FIPS 202 meinen SHA3-256.

Ist SHA-3 sicherer als SHA-256?

Beide gelten derzeit als sicher. SHA-3 ist vor allem eine Alternative mit anderem Aufbau, falls in SHA-2 einmal eine Schwäche gefunden wird. SHA-2 ist verbreiteter und meist schneller in Software.

Was ist SHAKE128?

Eine Funktion mit frei wählbarer Ausgabelänge (Extendable-Output Function) aus FIPS 202. Die Zahl 128 steht für das Sicherheitsniveau in Bit, nicht für die Länge der Ausgabe.

Eignet sich SHA-3 zum Speichern von Passwörtern?

Nein, ein einfacher Hash ist dafür zu schnell. Für Passwörter nehmen Sie Argon2id, bcrypt, scrypt oder PBKDF2 mit vielen Iterationen.

Warum unterscheidet sich mein Ergebnis von einem anderen Werkzeug?

Meist liegt es an der Eingabe: Zeilenumbruch am Ende, andere Zeichenkodierung oder Text statt Hex-Bytes. Prüfen Sie außerdem, ob das andere Werkzeug Keccak statt SHA-3 rechnet.

Wie berechne ich SHA3-256 auf der Kommandozeile?

Mit OpenSSL ab Version 1.1.1: openssl dgst -sha3-256 datei. In Python liefert hashlib.sha3_256(daten).hexdigest() denselben Wert.

Wie berechne ich den Funktionsselektor einer Solidity-Funktion?

Signatur ohne Leerzeichen als Text eingeben, etwa transfer(address,uint256), und Keccak-256 wählen. Die ersten vier Bytes des Hashs sind der Selektor, in diesem Beispiel a9059cbb.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge