Co je tento nástroj?
MD5 je hashovací funkce, která mění libovolný vstup na pevný 32znakový hexadecimální otisk. Stejný vstup vždy vytvoří stejný hash a i změna jediného znaku vytvoří zcela odlišný výsledek. Díky tomu jsou hashe užitečné pro kontrolní součty, cachovací klíče, deduplikaci a kontroly integrity dat.
Bezpečnostní poznámka: MD5 je kryptograficky prolomený — kolize lze uměle vytvořit — proto se nesmí používat pro hesla ani podpisy. Pro tyto účely použijte SHA-256 (rovněž uveden níže) nebo specializované hashování hesel jako bcrypt. MD5 zůstává v pořádku pro nebezpečnostní použití, jako jsou kontrolní součty a cachovací klíče.
MD5 sahá až do roku 1992, kdy jej Ron Rivest publikoval jako RFC 1321 — což je jeden z důvodů, proč jej tolik starších systémů stále očekává, navzdory jeho známým slabinám.
Proč ho používat?
- Generujte kontrolní součty pro ověření, že soubor nebo řetězec nebyl náhodně změněn.
- Vytvářejte deterministické cachovací klíče a ID pro deduplikaci.
- Porovnejte se známým MD5 pro kontrolu integrity dat.
- Získejte zároveň SHA-1 a SHA-256 — bez nutnosti druhého nástroje.
- 100% lokální: váš vstup nikdy neopustí prohlížeč.
Jak se používá
- Napište nebo vložte svůj text do vstupního pole.
- Klikněte na „Generate Hash“.
- Přečtěte si výsledky MD5, SHA-1 a SHA-256 (zaškrtněte „Uppercase“, pokud váš systém očekává velká písmena).
- Klikněte na „Copy“ vedle hashe, který potřebujete.
Příklad
Vstup
helloVýstup
MD5: 5d41402abc4b2a76b9719d911017c592
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Hashe jsou deterministické: „hello“ vytváří přesně tyto hodnoty v každém nástroji, pokaždé.
Který hash byste měli použít?
Všechny tři jsou jednosměrné hashe, ale nejsou zaměnitelné — správná volba zcela závisí na tom, zda potřebujete bezpečnost, nebo jen otisk.
| Algoritmus | Velikost výstupu | Použijte pro | Nepoužívejte pro |
|---|---|---|---|
| MD5 | 128 bitů (32 hex znaků) | Kontrolní součty, cachovací klíče, deduplikace, odhalení náhodných změn v souboru | Hesla, digitální podpisy, cokoli bezpečnostně citlivého — kolize lze uměle vytvořit |
| SHA-1 | 160 bitů (40 hex znaků) | Kompatibilita se staršími systémy (např. staré hashe commitů v Gitu) | Nové bezpečnostně citlivé návrhy — praktické útoky pomocí kolizí existují od roku 2017 |
| SHA-256 | 256 bitů (64 hex znaků) | Digitální podpisy, TLS certifikáty, blockchain, kontrolní součty, kde záleží na odolnosti proti manipulaci | Přímé ukládání hesel — i SHA-256 je na to příliš rychlý; použijte místo něj bcrypt, scrypt nebo Argon2 |
Běžné případy použití
- Ověřování, že stažený soubor odpovídá kontrolnímu součtu vydavatele před spuštěním, hashováním souboru a porovnáním výsledku.
- Generování deterministického cachovacího klíče z URL nebo query stringu, aby se identické požadavky vždy mapovaly na stejný záznam v cache.
- Deduplikace velkého seznamu záznamů hashováním každého z nich a porovnáváním hashů místo porovnávání celého textu.
- Rychlá kontrola, zda jsou dvě kopie souboru bajtově identické, bez jejich přímého otevírání nebo porovnávání.
Proč na kolizích záleží u bezpečnosti, ale ne u kontrolních součtů
Kolize hashe znamená, že dva různé vstupy vytvoří stejný výstup hashe — matematicky nevyhnutelné u jakékoli hashovací funkce (protože vstupů je nekonečně mnoho a výstupy mají pevnou délku), ale praktické riziko zcela závisí na případu použití. U bezpečnostního podpisu umožňuje záměrně vytvořená kolize útočníkovi nahradit škodlivý soubor legitimním při zachování stejného hashe, což je přesně to, co bylo prokázáno proti MD5 od roku 2004 a proti SHA-1 od roku 2017. U kontrolního součtu nebo cachovacího klíče se nikdo nesnaží kolizi vytvořit — jen kontrolujete, zda nebyl soubor náhodně poškozen, nebo zda jsou dva libovolné řetězce shodou okolností identické — takže stejná matematická slabina, která prolamuje bezpečnostní použití MD5, nemá na jeho nebezpečnostní použití prakticky žádný dopad.
Potřebujete porovnat více algoritmů najednou?
Pokud chcete vidět MD5, SHA-1, SHA-256, SHA-384 a SHA-512 stejného textu vedle sebe místo jednoho po druhém, použijte náš nástroj pro porovnání více algoritmů.
Časté dotazy
Mohu MD5 hash dešifrovat zpět na původní text?
Ne — hashování je záměrně jednosměrné; z hashe nelze vypočítat originál. Weby na „dešifrování MD5“ jen vyhledávají hashe v obřích předpočítaných tabulkách běžných vstupů, což je důvod, proč unikátní vstupy nelze obrátit.
Je MD5 bezpečný pro ukládání hesel?
Ne, rozhodně ne. MD5 lze rychle prolomit hrubou silou a má známé útoky pomocí kolizí. Pro hesla používejte bcrypt, scrypt nebo Argon2. MD5 je přijatelný pouze pro nebezpečnostní účely, jako jsou kontrolní součty.
Proč stejný text dává jiný hash než v jiném nástroji?
Obvykle jde o neviditelné rozdíly: koncový nový řádek nebo mezera, jiné ukončení řádků (\r\n vs \n) nebo jiné kódování textu. Bajtově identický vstup vždy dává identický hash.
Jaký je rozdíl mezi MD5, SHA-1 a SHA-256?
Liší se délkou výstupu a bezpečností: MD5 (128 bitů) a SHA-1 (160 bitů) jsou oba pro bezpečnostní použití prolomené; SHA-256 (256 bitů) je aktuální standard a zůstává bezpečný. Pokud si nejste jisti, použijte SHA-256.
Odesílá se můj text na server kvůli hashování?
Ne. MD5 je počítán pomocí JavaScriptu a SHA-1/SHA-256 pomocí vestavěného Web Crypto API vašeho prohlížeče — vše zůstává na vašem zařízení.