SHA-256 Hash Generator

SHA-256-Hash aus beliebigem Text generieren

Eingabetext

Läuft lokal · Sicher zum Einfügen von Secrets

SHA-256-Hash

SHA-256-Hash wird hier angezeigt…

Was ist SHA-256-Hashing?

SHA-256 (Secure Hash Algorithm 256-bit) ist eine kryptografische Hashfunktion aus der SHA-2-Familie, die 2001 vom NIST als Teil von FIPS 180-2 (aktualisiert in FIPS 180-4) veröffentlicht wurde. Für jede Eingabe — ein einzelnes Zeichen, eine mehrere Gigabyte große Datei oder eine leere Zeichenkette — erzeugt SHA-256 einen festen 256-Bit-Digest (32 Byte), der üblicherweise als 64 hexadezimale Zeichen dargestellt wird. SHA-256 ist die am weitesten verbreitete Hashfunktion in Produktivsystemen und bildet die Grundlage für TLS-Zertifikatsketten, Bitcoins Proof-of-Work, Subresource Integrity (SRI) und Code-Signing-Workflows.

SHA-256 ist eine Einwegfunktion: Die Berechnung eines Hashes aus einer Eingabe ist schnell (Hunderte von Megabytes pro Sekunde auf moderner Hardware), aber der umgekehrte Weg — eine Eingabe zu finden, die einen bestimmten Hash erzeugt — ist rechnerisch nicht durchführbar. Diese Eigenschaft, Urbildresistenz genannt, macht SHA-256 geeignet für Passwort-Hashing (in Kombination mit einem Salt und Key-Stretching), digitale Signaturen und die Überprüfung der Datenintegrität. Im Gegensatz zu MD5 und SHA-1 wurde bislang weder ein Kollisions- noch ein Urbildangriff gegen vollständiges SHA-256 nachgewiesen.

Die SHA-2-Familie umfasst sechs Varianten: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256. SHA-256 arbeitet mit 32-Bit-Wörtern und 64 Runden pro Block, optimiert für 32-Bit-Prozessoren. SHA-512 verwendet 64-Bit-Wörter und 80 Runden, was auf 64-Bit-Plattformen schneller sein kann. Für die meisten Anwendungen, bei denen ein 256-Bit-Digest ausreicht, bleibt SHA-256 die Standardempfehlung von NIST, IETF und dem CA/Browser Forum.

Wozu ein Online-SHA-256-Generator?

Die Berechnung eines SHA-256-Hashes erfordert normalerweise einen Terminalbefehl oder einige Zeilen Code. Dieses browserbasierte Werkzeug ermöglicht die Berechnung von SHA-256-Digests ohne Installation, Kontextwechsel oder das Schreiben eines Skripts.

Sofortiges Hashing im Browser
Text einfügen oder eingeben und den SHA-256-Digest sofort erhalten. Die Web Crypto API übernimmt die Berechnung nativ — ohne JavaScript-Bibliotheks-Overhead.
🔒
Datenschutzorientierte Verarbeitung
Die Eingabe verlässt das Gerät nie. Das gesamte Hashing läuft lokal über die im Browser integrierte Web Crypto API. Es werden keine Daten an einen Server übertragen.
📋
Kopierfertige Ausgabeformate
Den Hash mit einem Klick in Klein- oder Großbuchstaben-Hex erhalten. Praktisch beim Abgleich von Prüfsummen aus Paketmanagern, CI-Pipelines oder Dokumentationen.
🔍
Referenzwerte gegenchecken
SHA-256-Digests von Download-Seiten, SBOM-Manifesten oder Audit-Logs schnell überprüfen — ohne Terminal zu öffnen oder Wegwerfcode zu schreiben.

SHA-256 Anwendungsfälle

Frontend-Entwickler — Subresource Integrity
Den SHA-256-Hash eines CDN-gehosteten Skripts oder Stylesheets berechnen, um das integrity-Attribut in script- und link-Tags zu befüllen und so vor Supply-Chain-Manipulationen zu schützen.
Backend-Entwickler — API-Request-Signierung
Viele APIs (AWS Signature V4, Stripe-Webhooks) erfordern SHA-256-Hashes von Request-Payloads. Mit diesem Werkzeug lassen sich Referenz-Hashes während der Entwicklung und beim Debuggen berechnen.
DevOps — Artefakt-Verifikation
SHA-256-Prüfsummen heruntergeladener Binärdateien, Docker-Basis-Images oder Terraform-Provider-Plugins überprüfen, bevor sie in der Produktionsinfrastruktur eingesetzt werden.
QA-Ingenieur — Testvektor-Validierung
SHA-256-Ausgaben gegen NIST-Testvektoren (FIPS-180-4-Beispiele) gegenchecken, um sicherzustellen, dass die eigene Hashing-Implementierung Grenzfälle korrekt behandelt.
Dateningenieur — Fingerprinting auf Zeilenebene
Zusammengesetzte Schlüssel oder PII-Felder mit SHA-256 hashen, um deterministische, nicht umkehrbare Fingerabdrücke für Deduplizierung oder Pseudonymisierung in Datenpipelines zu erstellen.
Student — Kryptografie-Kursarbeit
Mit SHA-256 den Lawineneffekt beobachten: Ein einzelnes Zeichen in der Eingabe ändern und sehen, wie sich die gesamte 64-Zeichen-Ausgabe unvorhersehbar verändert.

SHA-2-Familienvarianten im Vergleich

SHA-256 gehört zur SHA-2-Familie, die in FIPS 180-4 definiert ist. Jede Variante unterscheidet sich in Digest-Größe, Performance-Eigenschaften und Sicherheitsmarge. Die folgende Tabelle vergleicht alle SHA-2-Varianten, denen man wahrscheinlich begegnet.

VarianteDigest-GrößeHex-LängeByte-GrößeGeeignet für
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-384384 bits96 hex chars48 bytesGovernment / CNSS, higher collision margin
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-256 vs. SHA-1 vs. MD5 vs. SHA-3

Die Wahl des richtigen Hash-Algorithmus hängt von den Sicherheitsanforderungen und Kompatibilitätsbeschränkungen ab. SHA-256 ist der praktische Kompromiss: sicher, universell unterstützt (einschließlich der Web Crypto API) und für die meisten Workloads schnell genug. Die folgende Vergleichstabelle deckt die Eigenschaften ab, die bei der Auswahl einer Hashfunktion am wichtigsten sind.

EigenschaftSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

Wie SHA-256 intern funktioniert

SHA-256 verarbeitet Eingaben in 512-Bit-Blöcken (64 Byte) durch eine Merkle-Damgård-Konstruktion. Der Algorithmus initialisiert acht 32-Bit-Zustandswörter (H0–H7), die aus den Nachkommastellen der Quadratwurzeln der ersten acht Primzahlen abgeleitet werden. Jeder Block durchläuft 64 Misch-Runden mit bitweisen Operationen (AND, XOR, NOT, Rechtsrotation, Rechtsverschiebung) und 64 Rundenkonstanten, die aus den Kubikwurzeln der ersten 64 Primzahlen stammen.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
SchrittBeschreibung
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

Der Lawineneffekt stellt sicher, dass das Kippen eines einzelnen Eingabebits etwa 50 % der Ausgabebits verändert. Diese Eigenschaft in Kombination mit einer Kollisionsresistenz von 2^128 ist der Grund, warum SHA-256 im Jahr 2026 die Baseline-Empfehlung für sicherheitskritische Anwendungen bleibt.

SHA-256 Code-Beispiele

SHA-256 ist in jeder gängigen Sprache und Laufzeitumgebung nativ verfügbar. Die Web Crypto API stellt es in Browsern ohne zusätzliche Bibliothek bereit. Die folgenden Beispiele zeigen praxisnahe Verwendungsmuster einschließlich Unicode-Eingabebehandlung und Datei-Hashing.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha256(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-256', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha256').update('hello world').digest('hex')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Python
import hashlib

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha256()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Häufig gestellte Fragen

Ist SHA-256 noch sicher?
Ja. Stand 2026 wurde kein praktischer Kollisions-, Urbild- oder Zweites-Urbild-Angriff gegen vollständiges SHA-256 gefunden. NIST, das CA/Browser Forum und die IETF empfehlen SHA-256 weiterhin für TLS-Zertifikate, Code-Signing und digitale Signaturen. Die theoretische Kollisionsresistenz beträgt 2^128 Operationen — weit jenseits aktueller Rechenkapazitäten.
Was ist der Unterschied zwischen SHA-256 und SHA-2?
SHA-2 ist der Familienname für sechs Hashfunktionen: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256. SHA-256 ist das am häufigsten verwendete Mitglied. Wenn Dokumentationen "SHA-2 verwenden" empfehlen, ist damit fast immer konkret SHA-256 gemeint, es sei denn, ein längerer Digest ist erforderlich.
Kann SHA-256 umgekehrt oder entschlüsselt werden?
Nein. SHA-256 ist eine Einweg-Hashfunktion, keine Verschlüsselung. Es gibt keinen Schlüssel und keinen Entschlüsselungsprozess. Der einzige Weg, die ursprüngliche Eingabe zu finden, ist ein Brute-Force- oder Wörterbuchangriff, der für ausreichend komplexe Eingaben rechnerisch nicht durchführbar ist. Für kurze oder vorhersehbare Eingaben (wie gängige Passwörter) existieren vorberechnete Rainbow Tables — deshalb sollte Passwort-Hashing immer einen Salt und eine dedizierte KDF wie bcrypt oder Argon2 verwenden.
Wie verhält sich SHA-256 im Vergleich zu SHA-3?
SHA-3 (Keccak, FIPS 202) verwendet eine völlig andere interne Struktur (Schwamm-Konstruktion) als SHA-256 (Merkle-Damgård). Sowohl SHA-256 als auch SHA-3-256 erzeugen einen 256-Bit-Digest und bieten gleichwertige Kollisionsresistenz. SHA-3 wurde als Fallback für den Fall entwickelt, dass SHA-2 gebrochen wird — SHA-2 ist jedoch weiterhin ungebrochen. SHA-256 hat eine breitere Laufzeitunterstützung: Die Web Crypto API unterstützt SHA-256, aber nicht SHA-3.
Ist SHA-256 für Passwort-Hashing geeignet?
Nicht direkt. Ein einfacher SHA-256-Hash eines Passworts ist anfällig für Brute-Force- und Rainbow-Table-Angriffe, da SHA-256 auf Geschwindigkeit ausgelegt ist. Für die Passwortspeicherung sollte eine dedizierte Key-Derivation-Funktion wie bcrypt, scrypt oder Argon2id verwendet werden, die einen Salt und einen konfigurierbaren Kostenfaktor hinzufügen, um Angriffe zu verlangsamen.
Warum verwendet Bitcoin doppeltes SHA-256?
Bitcoin berechnet SHA-256(SHA-256(data)) (bekannt als hash256) für Block-Header und Transaktions-IDs. Die doppelte Anwendung schützt gegen Längenerweitungsangriffe, bei denen ein Angreifer Daten an eine Nachricht anhängt und einen gültigen Hash berechnet, ohne die ursprüngliche Eingabe zu kennen. Dies ist eine Eigenschaft von Merkle-Damgård-Hashes, die ein einfacher SHA-256-Durchlauf nicht verhindert.
Was ist Subresource Integrity (SRI) und wie hängt SHA-256 damit zusammen?
SRI ist eine W3C-Spezifikation, die es Browsern ermöglicht zu überprüfen, ob eine abgerufene Ressource (Skript, Stylesheet) nicht manipuliert wurde. Es wird ein integrity-Attribut mit einem Base64-kodierten SHA-256- (oder SHA-384/SHA-512-) Hash des erwarteten Dateiinhalts hinzugefügt. Der Browser berechnet den Hash der heruntergeladenen Datei und verweigert die Ausführung, wenn die Hashes nicht übereinstimmen. SHA-256 ist der von SRI unterstützte Mindestalgorithmus.