Co je to hash? MD5, SHA-256 a když skutečně potřebujete HMAC
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
- Použijte obyčejný
SHA-256pro kontroly integrity souborů, hašování hesel (se solí a pomalou funkcí jako bcrypt) a veřejné otisky prstů. - Použití
HMACpro podepisování požadavků API, ověřování webhooku a jakýkoli scénář, kde obě strany sdílejí tajemství. - Přeskočit
MD5pro 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.