Přeskočit na obsah
TextArray

Co je to hash? MD5, SHA-256 a když skutečně potřebujete HMAC

Blog /

Hashovací funkce změní jakýkoli vstup na otisk pevné délky, ale ne všechny hash jsou vytvořeny stejně. Výběr mezi MD5, SHA-256 a HMAC znamená rozdíl mezi funkční kontrolou zabezpečení a kontrolou, která selže tiše. Tato příručka vysvětluje, co každý dělá, kdy je použít a jak ověřit vlastní hash přímo ve vašem prohlížeči.

Co je to hashovací funkce?

Hašovací funkce přebírá libovolné množství dat – text, soubor, heslo – a vytváří řetězec znaků s pevnou délkou. Stejný vstup vždy produkuje stejný výstup, díky čemuž jsou hodnoty hash užitečné pro ověření. Změňte i jeden znak ve vstupu a hash se úplně změní. Tato jednosměrná vlastnost (nemůžete obrátit hash, abyste získali původní data zpět) je to, co ji činí užitečnou pro zabezpečení.

MD5: rychlý, ale zlomený

MD5 vytváří 128bitový hash a byl kdysi standardem pro kontrolní součty a ověřování souborů. Dnes je to kryptograficky rozbité – kolize (dva různé vstupy produkující stejný hash) se rychle hledají. MD5 se stále objevuje ve starších systémech a pro kontrolní součty nesouvisející se zabezpečením, ale nikdy pro ověřování nebo hesla. Použijte Generátor hash vidět výstup MD5, ale sáhněte po SHA-256 pro cokoli, na čem záleží.

SHA-256: současný standard

SHA-256 (součást rodiny SHA-2) vytváří 256bitový hash a je moderní volbou pro kryptografickou práci. Je dostatečně rychlý pro většinu aplikací, odolný proti známým útokům a široce podporovaný. uvidíš SHA-256 používané v blockchainových systémech, otisky certifikátů a hašování hesel. Generátor hash podporuje SHA-256 jako svůj výchozí algoritmus.

HMAC: když potřebujete tajemství

Jednoduchá hašovací funkce je deterministická – kdokoli může haš ověřit. An HMAC (Hash-based Message Authentication Code) přimíchá tajný klíč, takže pouze ten, kdo zná klíč, může vytvořit správný hash. To je pro API zásadní: server a klient sdílejí tajemství, každý s ním podepisuje své zprávy a příjemce ověřuje, zda se podpis shoduje. To dokazuje, že zpráva přišla od nárokovaného odesílatele a nebyla zmanipulována. Generátor HMAC umožňuje otestovat to pomocí vlastního tajného klíče.

Kdy použít jednotlivé přístupy

  1. Použijte obyčejný SHA-256 pro kontroly integrity souborů, hašování hesel (se solí a pomalou funkcí jako bcrypt) a veřejné otisky prstů.
  2. Použití HMAC pro podepisování požadavků API, ověřování webhooku a jakýkoli scénář, kde obě strany sdílejí tajemství.
  3. Přeskočit MD5 pro cokoliv, co souvisí s bezpečností. Použijte jej pouze při interakci se staršími systémy, které to vyžadují.

Vaše data zůstanou ve vašem zařízení

Oba Generátor hash a Generátor HMAC spustit zcela ve vašem prohlížeči. Váš text není nikdy odeslán na server – je zahašován lokálně na vašem zařízení, po načtení stránky funguje offline a nevyžaduje žádný účet ani přihlášení. To znamená, že můžete bezpečně hašovat citlivé informace, jako jsou klíče API, pro testování, aniž byste je vystavovali internetu.

Bonus: změřte entropii

Pokud generujete tajemství nebo hesla, Shannonova entropie kalkulačka ukazuje, kolik náhodnosti (a tedy bezpečnosti) je v řetězci. Vyšší entropie znamená těžší odhadnout. Použijte jej k ověření, že vaše vygenerovaná tajemství jsou skutečně náhodná, než je nasadíte.