Přeskočit na obsah

Generátor hashů

Vložte text nebo vyberte soubor a hned uvidíte jeho MD5, SHA-1, SHA-256, SHA-512 i SHA-3 hash. Hodí se i k ověření kontrolního součtu staženého souboru.

Formát

Algoritmy
  • MD5 prolomený
    Hash se zobrazí tady
  • SHA-1 prolomený
    Hash se zobrazí tady
  • SHA-256
    Hash se zobrazí tady
  • SHA-512
    Hash se zobrazí tady
Text ani soubory se nikam neodesílají, hash se počítá ve vašem prohlížeči.

Co je hash a k čemu se hodí

Hash je krátký otisk libovolných dat s pevnou délkou. Spočítá ho hašovací funkce, například SHA-256, a ze stejného vstupu vždy vznikne stejný výsledek. Stačí ale změnit jediné písmeno a hash bude úplně jiný. Proto se používá k ověření, že se soubor při stahování nepoškodil, k porovnání dat bez jejich odesílání nebo k podepisování zpráv mezi aplikacemi.

Jak vytvořit hash

Vložte text nebo soubor

Text napište nebo vložte do pole, soubor vyberte či přetáhněte na stránku. Hash se počítá už během psaní.

Vyberte algoritmy a formát

Zapněte algoritmy, které potřebujete. Výsledek může být v malých nebo velkých hexadecimálních znacích či v Base64.

Zkopírujte nebo porovnejte

Hash zkopírujete jedním kliknutím. Když do pole pro porovnání vložíte očekávaný hash, nástroj vám řekne, jestli sedí.

Který algoritmus zvolit

K ověření souborů i pro nové projekty dnes sáhněte po SHA-256. MD5 a SHA-1 jsou prolomené, proto je používejte jen tam, kde je vyžaduje jiný systém.

Algoritmus Délka Kdy ho použít
MD5 128 bitů, 32 znaků Jen jako kontrolní součet proti náhodnému poškození. Kolizi dnes vyrobí i běžný počítač za pár sekund.
SHA-1 160 bitů, 40 znaků Starší systémy a Git. První kolizi zveřejnili v roce 2017, k podpisům se už nepoužívá.
SHA-256 256 bitů, 64 znaků Dnešní standard pro kontrolní součty souborů, certifikáty, blockchain i HMAC podpisy.
SHA-384 384 bitů, 96 znaků Certifikáty a TLS s vyšší úrovní zabezpečení.
SHA-512 512 bitů, 128 znaků Když chcete delší otisk a vyšší odolnost proti kolizím.
SHA3-256, SHA3-512 256 a 512 bitů Novější rodina SHA-3 s jinou vnitřní konstrukcí. Záloha pro případ, že by se v SHA-2 objevila slabina.

Jak ověřit kontrolní součet staženého souboru

U instalaček, obrazů disků nebo firmwaru autoři často zveřejňují SHA-256 součet. Pokud se shoduje s hashem vašeho souboru, soubor se stáhl celý a bez chyb. Součet berte vždy z oficiální stránky autora.

  • Na stránce, odkud jste soubor stáhli, najděte jeho SHA-256 součet. Bývá u odkazu ke stažení nebo v souboru SHA256SUMS.
  • Přepněte generátor na Soubor a vyberte stažený soubor.
  • Zveřejněný součet vložte do pole Porovnat s hashem. Zelená zpráva znamená shodu.

Hash souboru v příkazovém řádku

Stejný výsledek dostanete i bez prohlížeče. Místo soubor.iso doplňte název svého souboru.

Windows (PowerShell)
Get-FileHash .\soubor.iso -Algorithm SHA256
Windows (příkazový řádek)
certutil -hashfile soubor.iso SHA256
macOS
shasum -a 256 soubor.iso
Linux
sha256sum soubor.iso

HMAC: hash s tajným klíčem

HMAC spojí zprávu s tajným klíčem, takže správný výsledek spočítá jen ten, kdo klíč zná. Takto podepisují webhooky například GitHub nebo Shopify. Při ladění webhooku zapněte HMAC s tajným klíčem, vložte tělo požadavku přesně tak, jak přišlo, a porovnejte výsledek s podpisem z hlavičky. Některé služby podepisují víc než samotné tělo, například Stripe počítá HMAC z časového razítka, tečky a těla, proto si v dokumentaci ověřte, co přesně služba podepisuje.

Hesla neukládejte jako obyčejný hash

MD5, SHA-1 ani SHA-256 nejsou určené k ukládání hesel. Jsou navržené tak, aby byly rychlé, takže útočník dokáže vyzkoušet miliardy hesel za sekundu a běžná hesla najde v hotových tabulkách. Pro hesla použijte funkce, které jsou záměrně pomalé a přidávají náhodnou sůl: Argon2id, bcrypt nebo scrypt. Většina jazyků a frameworků je nabízí přímo.

FAQ

Dá se hash dešifrovat nebo převést zpět na text?

Ne. Hash není šifra a nemá klíč, kterým by se dal rozšifrovat. Krátké a běžné vstupy, například slovo „heslo123“, se ale dají uhodnout: útočník spočítá hashe milionů známých slov a porovná výsledky. Stránky, které slibují „dekódování MD5“, ve skutečnosti hledají právě v takových databázích.

Je MD5 ještě bezpečné?

K zabezpečení ne. Dva různé soubory se stejným MD5 hashem se dají vyrobit na běžném počítači za pár sekund, takže MD5 nechrání před záměrnou změnou. Jako kontrolní součet proti náhodnému poškození při přenosu ale funguje a některé systémy ho stále vyžadují.

Proč mi vychází jiný hash než v terminálu nebo v jiném nástroji?

Nejčastěji kvůli neviditelným znakům. Příkaz echo přidává na konec nový řádek, takže v terminálu použijte echo -n nebo printf. Windows ukládá konec řádku jako dva znaky (CR LF), zatímco toto pole používá jeden (LF). Rozdíl udělá i mezera na konci nebo kódování: nástroj převádí text do UTF-8, starší programy na Windows používají Windows-1250, a slova s diakritikou pak dají jiný hash. U souborů na kódování nezáleží, hashují se bajt po bajtu.

Odesílá se můj text nebo soubor na server?

Ne. Hash se počítá přímo ve vašem prohlížeči a text ani soubor neopustí váš počítač. Klidně tak můžete hashovat i důvěrné dokumenty.

Jak velký soubor můžu hashovat?

Soubor se čte po částech, takže nemusí být celý v paměti a zvládnete i obraz disku o velikosti několika GB. Rychlost závisí na počítači a na počtu zapnutých algoritmů. U velkých souborů nechte zapnutý jen ten, který potřebujete.

Jaký je rozdíl mezi SHA-256 a SHA-512?

Oba patří do rodiny SHA-2 a oba jsou dnes bezpečné. SHA-512 dává delší hash, 128 hexadecimálních znaků místo 64. Který z nich je rychlejší, záleží na procesoru a implementaci, při běžném použití rozdíl nepoznáte. Pokud nemáte konkrétní důvod, zvolte SHA-256, protože s ním pracuje většina nástrojů a služeb.

Co je SHA-3 a mám ho používat?

SHA-3 je novější standard z roku 2015, postavený na úplně jiném principu než SHA-2. Nevznikl proto, že by SHA-2 byl prolomený, ale jako záloha. Použijte ho, pokud ho vyžaduje systém, se kterým pracujete. Jinak sáhněte po SHA-256, který je rozšířenější a má stejnou úroveň zabezpečení jako SHA3-256.

Záleží v hashi na velkých a malých písmenech?

U hexadecimálního zápisu ne: A1B2 i a1b2 představuje tentýž hash a pole pro porovnání ho přijme v obou podobách. Base64 ale velká a malá písmena rozlišuje, takže tam musí sedět každý znak. Rozlišuje je i samotný vstup: „Ahoj“ a „ahoj“ dají úplně jiné hashe.

Čím se liší hash od šifrování?

Šifrování se dá vrátit: kdo má klíč, získá původní data zpět. Hash je jednosměrný, z otisku se původní data zrekonstruovat nedají. Šifrování tedy chrání obsah, hash slouží k ověření, jestli se obsah změnil.