SHA-256 Hash Generator

Vygenerujte SHA-256 hash z libovolného textu

Vstupní text

Běží lokálně · Bezpečné pro vkládání tajných údajů

SHA-256 hash

SHA-256 hash se zobrazí zde…

Co je hašování SHA-256?

SHA-256 (Secure Hash Algorithm 256-bit) je kryptografická hašovací funkce z rodiny SHA-2, kterou NIST zveřejnil v roce 2001 v rámci standardu FIPS 180-2 (aktualizovaného jako FIPS 180-4). Pro libovolný vstup — jeden znak, soubor o několika gigabajtech nebo prázdný řetězec — SHA-256 produkuje pevný 256bitový (32bajtový) výtah, konvenčně zobrazený jako 64 hexadecimálních znaků. SHA-256 je dnes nejrozšířenější hašovací funkcí v produkčních systémech a tvoří základ řetězců certifikátů TLS, proof-of-work v Bitcoinu, Subresource Integrity (SRI) a procesů podepisování kódu.

SHA-256 je jednosměrná funkce: výpočet hashe ze vstupu je rychlý (stovky megabajtů za sekundu na moderním hardwaru), ale obrácení tohoto procesu — nalezení vstupu, který produkuje daný hash — je výpočetně neproveditelné. Tato vlastnost, zvaná odolnost vůči vzoru (preimage resistance), činí SHA-256 vhodnou pro hašování hesel (v kombinaci se solí a key-stretchingem), digitální podpisy a ověřování integrity dat. Na rozdíl od MD5 a SHA-1 nebyl u plné SHA-256 demonstrován žádný útok kolizí ani útok vzoru.

Rodina SHA-2 zahrnuje šest variant: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 a SHA-512/256. SHA-256 pracuje s 32bitovými slovy a 64 koly na blok, optimalizovaně pro 32bitové procesory. SHA-512 používá 64bitová slova a 80 kol, což může být rychlejší na 64bitových platformách. Pro většinu aplikací, kde postačuje 256bitový výtah, zůstává SHA-256 výchozím doporučením NIST, IETF a CA/Browser Forum.

Proč používat online generátor SHA-256?

Generování SHA-256 hashe obvykle vyžaduje příkaz v terminálu nebo několik řádků kódu. Tento nástroj běžící v prohlížeči umožňuje vypočítat SHA-256 výtahy bez instalace čehokoli, přepínání kontextů nebo psaní skriptu.

Okamžité hašování v prohlížeči
Vložte nebo napište libovolný text a okamžitě získejte SHA-256 výtah. Web Crypto API zajišťuje výpočet nativně — bez režie JavaScriptových knihoven.
🔒
Zpracování se soukromím na prvním místě
Váš vstup nikdy neopustí vaše zařízení. Veškeré hašování probíhá lokálně prostřednictvím vestavěného Web Crypto API prohlížeče. Žádná data nejsou odesílána na žádný server.
📋
Výstupní formáty připravené ke kopírování
Získejte hash v malých nebo velkých hexadecimálních písmenech jedním kliknutím. Užitečné při porovnávání kontrolních součtů ze správců balíčků, CI pipeline nebo dokumentace.
🔍
Křížová kontrola referenčních hodnot
Rychle ověřte SHA-256 výtahy ze stránek ke stažení, SBOM manifestů nebo auditních logů bez otevření terminálu nebo psaní jednorázového kódu.

Případy použití SHA-256

Frontend vývojář — Subresource Integrity
Vypočítejte SHA-256 hash skriptu nebo šablony stylů hostované na CDN pro naplnění atributu integrity v tazích script a link, čímž ochráníte aplikaci před útoky na dodavatelský řetězec.
Backend inženýr — podepisování API požadavků
Mnoho API (AWS Signature V4, Stripe webhooky) vyžaduje SHA-256 hashe datových částí požadavků. Pomocí tohoto nástroje vypočítejte referenční hashe během vývoje a ladění.
DevOps — ověřování artefaktů
Ověřte SHA-256 kontrolní součty stažených binárních souborů, základních Docker obrazů nebo pluginů poskytovatele Terraform před nasazením do produkční infrastruktury.
QA inženýr — validace testovacích vektorů
Porovnejte výstupy SHA-256 s testovacími vektory NIST (příklady z FIPS 180-4), abyste potvrdili, že vaše implementace hašování správně zpracovává hraniční případy.
Datový inženýr — otisk na úrovni řádků
Hašujte složené klíče nebo PII pole pomocí SHA-256 k vytvoření deterministických, nevratných otisků pro deduplikaci nebo pseudonymizaci v datových kanálech.
Student — výuka kryptografie
Experimentujte se SHA-256 a pozorujte lavinový efekt: změňte jeden znak ve vstupu a sledujte, jak se celý 64znakový výstup nepředvídatelně změní.

Srovnání variant rodiny SHA-2

SHA-256 patří do rodiny SHA-2 definované v FIPS 180-4. Každá varianta představuje kompromis mezi velikostí výtahu, výkonnostními charakteristikami a bezpečnostní rezervou. Níže uvedená tabulka porovnává všechny varianty SHA-2, se kterými se pravděpodobně setkáte.

VariantaVelikost výtahuDélka hexadecimálního řetězceVelikost v bajtechNejlepší pro
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

Výběr správného hašovacího algoritmu závisí na vašich bezpečnostních požadavcích a omezeních kompatibility. SHA-256 zaujímá praktický střed: je bezpečná, univerzálně podporovaná (včetně Web Crypto API) a dostatečně rychlá pro většinu úloh. Níže uvedená srovnávací tabulka pokrývá vlastnosti, které jsou při výběru hašovací funkce nejdůležitější.

VlastnostSHA-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

Jak SHA-256 funguje interně

SHA-256 zpracovává vstup v 512bitových (64bajtových) blocích prostřednictvím konstrukce Merkle–Damgård. Algoritmus inicializuje osm 32bitových stavových slov (H0–H7) odvozených z desetinných částí druhých odmocnin prvních osmi prvočísel. Každý blok prochází 64 koly míchání, která využívají bitové operace (AND, XOR, NOT, pravá rotace, pravý posun) a 64 konstant kol odvozených z kubických kořenů prvních 64 prvočísel.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
KrokPopis
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.

Lavinový efekt zajišťuje, že překlopení jediného bitu na vstupu změní přibližně 50 % výstupních bitů. Tato vlastnost spolu s odolností vůči kolizím 2^128 je důvodem, proč SHA-256 zůstává základním doporučením pro bezpečnostně citlivé aplikace v roce 2026.

Ukázky kódu SHA-256

SHA-256 je dostupná nativně v každém hlavním jazyce a prostředí. Web Crypto API ji poskytuje v prohlížečích bez jakékoli knihovny. Níže uvedené příklady ukazují vzory reálného použití včetně práce s Unicode vstupem a hašování souborů.

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

Často kladené otázky

Je SHA-256 stále bezpečná?
Ano. K roku 2026 nebyl u plné SHA-256 nalezen žádný praktický útok kolizí, vzoru ani druhého vzoru. NIST, CA/Browser Forum a IETF nadále doporučují SHA-256 pro certifikáty TLS, podepisování kódu a digitální podpisy. Teoretická odolnost vůči kolizím je 2^128 operací, což je hluboko za hranicí současných výpočetních možností.
Jaký je rozdíl mezi SHA-256 a SHA-2?
SHA-2 je název rodiny šesti hašovacích funkcí: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 a SHA-512/256. SHA-256 je nejpoužívanějším členem. Pokud dokumentace říká 'použijte SHA-2', téměř vždy to znamená konkrétně SHA-256, pokud není vyžadován delší výtah.
Lze SHA-256 hash zpětně převést nebo dešifrovat?
Ne. SHA-256 je jednosměrná hašovací funkce, nikoli šifrování. Neexistuje žádný klíč ani dešifrovací proces. Jediný způsob, jak najít původní vstup, je útok hrubou silou nebo slovníkový útok, který je pro dostatečně složité vstupy výpočetně neproveditelný. Pro krátké nebo předvídatelné vstupy (jako běžná hesla) existují předpočítané duhové tabulky, a proto by hašování hesel mělo vždy používat sůl a specializovanou KDF jako bcrypt nebo Argon2.
Jak se SHA-256 srovnává se SHA-3?
SHA-3 (Keccak, FIPS 202) používá zcela odlišnou interní strukturu (houbová konstrukce) než SHA-256 (Merkle–Damgård). Jak SHA-256, tak SHA-3-256 produkují 256bitový výtah a nabízejí rovnocennou odolnost vůči kolizím. SHA-3 byla navržena jako záloha pro případ prolomení SHA-2, ale SHA-2 zůstává neprolomená. SHA-256 má širší podporu v prostředích — zejména Web Crypto API podporuje SHA-256, ale nikoli SHA-3.
Je SHA-256 vhodná pro hašování hesel?
Přímo ne. Surový SHA-256 hash hesla je zranitelný vůči útokům hrubou silou a duhovými tabulkami, protože SHA-256 je navržena k rychlosti. Pro ukládání hesel použijte specializovanou funkci pro odvozování klíčů, jako je bcrypt, scrypt nebo Argon2id, které přidávají sůl a konfigurovatelný pracovní faktor ke zpomalení útoků.
Proč Bitcoin používá dvojité SHA-256?
Bitcoin počítá SHA-256(SHA-256(data)) (označováno jako hash256) pro hlavičky bloků a identifikátory transakcí. Dvojí aplikace chrání před útoky prodloužením délky, při kterých útočník připojí data ke zprávě a vypočítá platný hash bez znalosti původního vstupu. Toto je vlastnost hashů Merkle–Damgård, které jednoprůchodová SHA-256 nezabraňuje.
Co je Subresource Integrity (SRI) a jak se SHA-256 vztahuje k této funkci?
SRI je specifikace W3C, která umožňuje prohlížečům ověřit, že načtený zdroj (skript, šablona stylů) nebyl pozměněn. Do atributu integrity přidáte Base64-kódovaný SHA-256 (nebo SHA-384/SHA-512) hash očekávaného obsahu souboru. Prohlížeč vypočítá hash staženého souboru a odmítne ho spustit, pokud se hashe neshodují. SHA-256 je minimální algoritmus podporovaný SRI.