Čo je tento nástroj?
MD5 je hashovacia funkcia, ktorá premení akýkoľvek vstup na pevný 32-znakový hexadecimálny odtlačok. Rovnaký vstup vždy vytvorí rovnaký hash a aj zmena jedného znaku vytvorí úplne odlišný výsledok. Vďaka tomu sú hashe užitočné na kontrolné súčty, cache kľúče, deduplikáciu a kontroly integrity dát.
Bezpečnostná poznámka: MD5 je kryptograficky prelomené — kolízie možno zámerne vytvoriť — takže sa nesmie používať na heslá ani podpisy. Na tie použite SHA-256 (tiež poskytnuté nižšie) alebo špecializované hashovanie hesiel ako bcrypt. MD5 je stále v poriadku pre nebezpečnostné použitia ako kontrolné súčty a cache kľúče.
MD5 siaha až do roku 1992, keď ho Ron Rivest publikoval ako RFC 1321 — čo je čiastočne dôvod, prečo ho toľko starších systémov stále očakáva napriek jeho známym slabinám.
Prečo ho používať?
- Generujte kontrolné súčty na overenie, či súbor alebo reťazec neboli náhodne zmenené.
- Vytvorte deterministické cache kľúče a ID na deduplikáciu.
- Porovnajte so známym MD5 na kontrolu integrity dát.
- Získajte SHA-1 a SHA-256 popri tom — netreba druhý nástroj.
- 100 % lokálne: váš vstup nikdy neopúšťa prehliadač.
Ako sa používa
- Napíšte alebo vložte svoj text do vstupného poľa.
- Kliknite na "Generate Hash".
- Prečítajte si výsledky MD5, SHA-1 a SHA-256 (zaškrtnite "Uppercase", ak váš systém očakáva veľké písmená).
- Kliknite na "Copy" vedľa hashu, ktorý potrebujete.
Príklad
Vstup
helloVýstup
MD5: 5d41402abc4b2a76b9719d911017c592
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Hashe sú deterministické: "hello" vytvorí presne tieto hodnoty na každom nástroji, zakaždým.
Ktorý hash by ste mali použiť?
Všetky tri sú jednosmerné hashe, ale nie sú zameniteľné — správna voľba závisí výlučne od toho, či potrebujete bezpečnosť, alebo len odtlačok.
| Algoritmus | Veľkosť výstupu | Použite ho na | Nepoužívajte ho na |
|---|---|---|---|
| MD5 | 128-bit (32 hex znakov) | Kontrolné súčty, cache kľúče, deduplikácia, zisťovanie náhodných zmien súborov | Heslá, digitálne podpisy, čokoľvek citlivé na bezpečnosť — kolízie možno zámerne vytvoriť |
| SHA-1 | 160-bit (40 hex znakov) | Kompatibilita so staršími systémami (napr. staré Git commit hashe) | Nové bezpečnostne citlivé návrhy — praktické útoky kolíziou existujú od roku 2017 |
| SHA-256 | 256-bit (64 hex znakov) | Digitálne podpisy, TLS certifikáty, blockchain, kontrolné súčty, kde záleží na odolnosti voči manipulácii | Priame ukladanie hesiel — aj SHA-256 je na to príliš rýchle; namiesto toho použite bcrypt, scrypt alebo Argon2 |
Bežné prípady použitia
- Overenie, že stiahnutý súbor zodpovedá kontrolnému súčtu vydavateľa, hashovaním súboru a porovnaním výsledku.
- Generovanie deterministického cache kľúča z URL alebo query reťazca, aby identické požiadavky vždy mapovali na rovnaký cache záznam.
- Deduplikácia veľkého zoznamu záznamov hashovaním každého z nich a porovnávaním hashov namiesto porovnávania celého textu.
- Rýchla kontrola, či sú dve kópie súboru bajtovo identické, bez priameho otvárania alebo diffovania.
Prečo na kolíziách záleží pri bezpečnosti, ale nie pri kontrolných súčtoch
Kolízia hashu znamená, že dva rôzne vstupy vytvoria rovnaký výstup hashu — matematicky nevyhnutné pre akúkoľvek hashovaciu funkciu (keďže vstupov je nekonečne veľa a výstupy majú pevnú dĺžku), no praktické riziko závisí výlučne od prípadu použitia. Pri bezpečnostnom podpise umožňuje zámerne vytvorená kolízia útočníkovi nahradiť škodlivý súbor legitímnym pri zachovaní rovnakého hashu, čo je presne to, čo bolo demonštrované proti MD5 od roku 2004 a proti SHA-1 od roku 2017. Pri kontrolnom súčte alebo cache kľúči sa nikto nesnaží vytvoriť kolíziu zámerne — len kontrolujete, či nebol súbor náhodne poškodený alebo či sú dva ľubovoľné reťazce zhodou okolností identické — takže rovnaká matematická slabina, ktorá prelamuje bezpečnostné použitie MD5, má na jeho nebezpečnostné použitia v podstate nulový vplyv.
Potrebujete porovnať viacero algoritmov naraz?
Ak chcete vidieť MD5, SHA-1, SHA-256, SHA-384 a SHA-512 rovnakého textu vedľa seba namiesto postupne, použite náš nástroj na porovnanie viacerých algoritmov.
Časté otázky
Môžem dešifrovať MD5 hash späť na pôvodný text?
Nie — hashovanie je z podstaty jednosmerné; pôvodný text nemožno z hashu vypočítať. "Dešifrovacie" stránky pre MD5 len vyhľadávajú hashe vo veľkých vopred vypočítaných tabuľkách bežných vstupov, preto jedinečné vstupy nemožno obrátiť.
Je MD5 bezpečné na ukladanie hesiel?
Nie, absolútne nie. MD5 sa dá rýchlo prelomiť hrubou silou a má známe útoky kolíziou. Na heslá použite bcrypt, scrypt alebo Argon2. MD5 je prijateľné len na nebezpečnostné účely ako kontrolné súčty.
Prečo dáva rovnaký text iný hash než v inom nástroji?
Zvyčajne kvôli neviditeľným rozdielom: koncový nový riadok alebo medzera, iné ukončenia riadkov (\r\n vs \n), alebo iné kódovanie textu. Bajtovo identický vstup vždy dáva identický hash.
Aký je rozdiel medzi MD5, SHA-1 a SHA-256?
Líšia sa dĺžkou výstupu a bezpečnosťou: MD5 (128-bit) a SHA-1 (160-bit) sú obe z hľadiska bezpečnosti prelomené; SHA-256 (256-bit) je súčasný štandard a zostáva bezpečný. V prípade pochybností použite SHA-256.
Odosiela sa môj text na server kvôli hashovaniu?
Nie. MD5 sa počíta pomocou JavaScriptu a SHA-1/SHA-256 pomocou vstavaného Web Crypto API vášho prehliadača — všetko zostáva na vašom zariadení.