Přeskočit na obsah

Generátor MD5 Hash Online - Bezplatný nástroj pro MD5 šifrování

Generujte MD5 hashe okamžitě pomocí našeho bezplatného online nástroje. Zpracování na straně klienta zaručuje soukromí. Ideální pro kontrolu integrity dat a ověřování souborů.

Generátor MD5 Hash

Kalkulačka načítání...
📚

Dokumentace

Co je generátor hashů MD5?

Generátor hašů MD5 je nástroj, který převádí libovolný text na kód pevné délky nazývaný haš MD5. MD5 je zkratka pro Message-Digest Algorithm 5, hašovací funkci publikovanou v roce 1992. Zadání slova, věty nebo celého souboru vždy vytvoří stejný výsledek o 32 znacích, zatímco i nepatrná změna vstupu vytvoří zcela jiný výsledek. Tento nástroj spouští algoritmus přímo v prohlížeči pomocí JavaScriptu, takže zadaný text se nikdy neodesílá na server.

Jak funguje hašování MD5

MD5 je jednosměrná funkce. Přijímá vstup libovolné délky a vytváří výstup pevné velikosti nazývaný hash nebo otisk. „Jednosměrná“ znamená, že proces nelze obrátit: z hashe samotného nelze rekonstruovat původní text.

Algoritmus zpracovává data v následujících fázích:

  1. Zpráva se převede na bajty a doplní tak, aby její délka byla násobkem 512 bitů.
  2. Připojí se pole o délce 64 bitů zaznamenávající původní délku zprávy.
  3. Čtyři čísla o délce 32 bitů se nastaví na pevné počáteční hodnoty.
  4. Doplněná zpráva se rozdělí na bloky o délce 512 bitů. Každý blok prochází čtyřmi koly po 16 operacích, tedy 64 operacemi na blok. Každá operace smíchá data bloku se čtyřmi průběžnými čísly pomocí bitových funkcí, sčítání a bitových rotací.
  5. Po zpracování každého bloku se čtyři čísla o délce 32 bitů spojí a zapíší jako hexadecimální číslice.

Výsledek má vždy délku 128 bitů a zobrazuje se jako 32 hexadecimálních znaků (0-9 a–f), protože každý bajt 128bitového výstupu se zapisuje dvěma hexadecimálními číslicemi.

Hašovací funkce se považuje za bezpečnou, pokud má tři vlastnosti: stejný vstup vždy poskytne stejný výstup, je nepraktické najít vstup, který vytvoří zvolený hash, a je nepraktické najít dva různé vstupy, které vytvoří stejný hash. MD5 má stále první vlastnost, ale další dvě byly prolomeny, jak je popsáno níže.

Příklad hashe MD5

Hašování slova „hello“ pomocí MD5 vytvoří:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

Hašování prázdného řetězce rovněž vytvoří pevný neprázdný výsledek, protože doplnění a pole s délkou stále procházejí algoritmem:

1Input:  (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3

Změna jediného znaku, například změna prvního písmene na velké ve slově „Hello“, vytvoří zcela odlišný řetězec o 32 znacích. Tento jev se nazývá lavinový efekt: malé změny vstupu způsobují velké a nepředvídatelné změny výstupu.

Jak používat tento generátor hashů MD5

  1. Zadejte nebo vložte text do vstupního pole.
  2. Hash se automaticky zobrazí pod polem a aktualizuje se při změně textu. Není třeba stisknout žádné samostatné tlačítko.
  3. Kliknutím na „Copy“ zkopírujete hash o 32 znacích do schránky.
  4. Pod výsledkem se zobrazí malý barevný pruh vytvořený z části hashe, který slouží jako rychlá vizuální kontrola, že se dva hashe liší.

Protože výpočet probíhá ve vlastním JavaScriptovém enginu prohlížeče, stránka po načtení nepotřebuje připojení k internetu a zadaný text se nikam nepřenáší.

Běžná použití hashů MD5

  • Ověření, že stažený soubor nebyl během přenosu poškozen, porovnáním jeho hashe s publikovanou hodnotou.
  • Vytváření vyhledávacích klíčů nebo identifikátorů mezipaměti pro data, protože hash je krátká reprezentace pevné velikosti zastupující delší hodnotu.
  • Zjišťování duplicitních souborů porovnáváním hashů namísto celého obsahu souborů.
  • Systémy pro správu verzí a sestavování, které pomocí hashů zjišťují, zda se soubor změnil.

MD5 není vhodný k ukládání hesel, vytváření digitálních podpisů ani pro žádný jiný případ, kdy by se útočník mohl pokusit hash podvrhnout nebo zpětně odvodit. Důvody jsou popsány v následující části.

Historie MD5

Americký kryptograf Ronald Rivest navrhl MD5 v roce 1991 jako nástupce svého dřívějšího algoritmu MD4. Internet Engineering Task Force publikovala specifikaci jako RFC 1321 v roce (3 360 cm) 1992 a MD5 se začal široce používat pro kontrolní součty a po určitou dobu i pro bezpečnostní účely.

Slabiny ve vnitřní struktuře MD5 byly zaznamenány již v roce 1996. V roce 2004 tým vedený kryptografkou Xiaoyun Wangovou předvedl praktickou metodu vytvoření dvou různých vstupů, které vytvářejí stejný haš MD5, což je chyba nazývaná kolize. V roce 2008 použila jiná skupina výzkumníků kolizní útok k vytvoření podvodného bezpečnostního certifikátu webu, který by tehdejší prohlížeče přijaly jako pravý. Tyto výsledky vedly organizace vydávající bezpečnostní standardy k tomu, že přestaly doporučovat MD5 pro cokoli, kde záleží na odolnosti proti padělání.

Bezpečnostní slabiny MD5

  • Odolnost proti kolizím je prolomena. Z hlediska výpočetní náročnosti je praktické sestrojit dva různé vstupy se stejným hashem MD5.
  • Rychlost je u hesel nevýhodou. MD5 byl navržen pro rychlý výpočet, což je užitečné u kontrolních součtů, ale nevhodné pro ukládání hesel, protože útočníkovi umožňuje na běžném hardwaru vyzkoušet miliardy odhadů za sekundu.
  • Veřejně není znám žádný útok na předobraz rychlejší než hrubá síla, takže získání přesného vstupu z hashe je stále obtížné, ale samo o sobě to nečiní MD5 vhodným pro bezpečnostně citlivé použití.

Z těchto důvodů je MD5 nevhodný pro ukládání hesel, digitální podpisy, certifikáty SSL/TLS ani jakoukoli aplikaci, v níž by se někdo mohl úmyslně pokusit vytvořit odpovídající hash.

Alternativy k MD5

  • SHA-256, součást rodiny SHA-2, vytváří hash o délce 256 bitů a není u něj znám žádný praktický kolizní útok.
  • SHA-3, novější standard založený na jiné interní konstrukci než SHA-2.
  • BLAKE2, rychlá hašovací funkce s bezpečností považovanou za srovnatelnou se SHA-3.
  • Bcrypt, scrypt nebo Argon2, navržené konkrétně pro ukládání hesel, protože jsou záměrně pomalé a odolné proti hádání urychlenému hardwarem.

Často kladené otázky

K čemu se MD5 používá dnes?

Především k úlohám nesouvisejícím s bezpečností, jako jsou kontroly integrity souborů, deduplikace a klíče mezipaměti. Pro hesla, podpisy ani certifikáty se již nedoporučuje.

Lze hash MD5 obrátit a získat původní text?

Ne. MD5 je jednosměrná funkce, takže neexistuje výpočet, který by převedl hash zpět na jeho vstup. Útočník však stále může hádat pravděpodobné vstupy a každý z nich zahashovat, aby ověřil shodu, a proto je MD5 pro hesla nebezpečný.

Proč je MD5 nevhodný pro ukládání hesel?

Protože se počítá velmi rychle, může útočník s moderním hardwarem vyzkoušet obrovské množství odhadů hesel za sekundu. Účelové algoritmy, jako jsou bcrypt, scrypt nebo Argon2, jsou záměrně pomalé, aby tomu odolaly.

Jak dlouhý je haš MD5?

Vždy 128 bitů, zobrazených jako 32 hexadecimálních znaků, bez ohledu na délku vstupního textu.

Mohou dva různé vstupy vytvořit stejný hash MD5?

Ano. Nazývá se to kolize a výzkumníci od roku 2004 prokázali praktické metody konstrukce takových dvojic. To je hlavní důvod, proč se MD5 již nepovažuje za bezpečný.

Odesílá tento nástroj zadaný text na server?

Ne. Hash vypočítává JavaScript spuštěný v prohlížeči a vstup nikdy neopustí zařízení.

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

Obě jsou hašovací funkce, ale SHA-256 vytváří delší hash o délce 256 bitů a není u něj znám žádný praktický kolizní útok, zatímco odolnost MD5 proti kolizím je prolomena. SHA-256 je lepší volbou vždy, když záleží na bezpečnosti.

Reference

  1. Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
  2. Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
  3. Wang, X., Yu, H. (2005). „How to Break MD5 and Other Hash Functions.“ Advances in Cryptology - EUROCRYPT 2005.
  4. Sotirov, A. aj. (2008). „MD5 Considered Harmful Today: Creating a Rogue CA Certificate.“ Předneseno na 25. Chaos Communication Congress.
  5. National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf