Preskočiť na obsah
TextArray

čo je hash? MD5, SHA-256 a keď skutočne potrebujete HMAC

Blog /

Funkcie hash premenia akýkoľvek vstup na odtlačok prsta s pevnou dĺžkou, ale nie všetky hodnoty hash sú vytvorené rovnako. Výber medzi MD5, SHA-256 a HMAC znamená rozdiel medzi funkčnou bezpečnostnou kontrolou a kontrolou, ktorá ticho zlyhá. Táto príručka vysvetľuje, čo každý robí, kedy ju použiť a ako overiť svoje vlastné hodnoty hash priamo vo vašom prehliadači.

Čo je to hashovacia funkcia?

Hašovacia funkcia preberá ľubovoľné množstvo údajov - text, súbor, heslo - a vytvára reťazec znakov s pevnou dĺžkou. Rovnaký vstup vždy vytvára rovnaký výstup, vďaka čomu sú hash užitočné na overenie. Zmeňte aj jeden znak vo vstupe a hash sa úplne zmení. Táto jednosmerná vlastnosť (nemôžete zvrátiť hash, aby ste získali pôvodné údaje späť), je užitočná pre bezpečnosť.

MD5: rýchly, ale zlomený

MD5 vytvára 128-bitový hash a bol kedysi štandardom pre kontrolné súčty a overovanie súborov. Dnes je to kryptograficky rozbité - kolízie (dva rôzne vstupy produkujúce rovnaký hash) sa dajú rýchlo nájsť. MD5 sa stále objavuje v starších systémoch a pre kontrolné súčty nesúvisiace s bezpečnosťou, ale nikdy nie pre autentifikáciu alebo heslá. Použite Hash generátor vidieť výstup MD5, ale siahnite po SHA-256 pre čokoľvek, na čom záleží.

SHA-256: súčasný štandard

SHA-256 (súčasť rodiny SHA-2) vytvára 256-bitový hash a je modernou voľbou pre kryptografickú prácu. Je dostatočne rýchly pre väčšinu aplikácií, odolný voči známym útokom a široko podporovaný. Uvidíte SHA-256 používané v blockchainových systémoch, odtlačkoch certifikátov a hashovaní hesiel. Hash generátor podporuje SHA-256 ako svoj predvolený algoritmus.

HMAC: keď potrebujete tajomstvo

Jednoduchá hašovacia funkcia je deterministická - každý môže overiť haš. An HMAC (Hash-based Message Authentication Code) primieša tajný kľúč, takže iba ten, kto pozná kľúč, môže vytvoriť správny hash. To je nevyhnutné pre API: server a klient zdieľajú tajomstvo, každý ním podpisuje svoje správy a príjemca overuje, či sa podpis zhoduje. To dokazuje, že správa prišla od nárokovaného odosielateľa a nebola sfalšovaná. Generátor HMAC vám to umožní otestovať pomocou vlastného tajného kľúča.

Kedy použiť jednotlivé prístupy

  1. Použite obyčajný SHA-256 na kontrolu integrity súborov, hashovanie hesiel (so soľou a pomalou funkciou ako bcrypt) a verejné odtlačky prstov.
  2. Použite HMAC na podpisovanie žiadostí API, overenie webhooku a akýkoľvek scenár, v ktorom obe strany zdieľajú tajomstvo.
  3. Preskočiť MD5 na čokoľvek, čo súvisí s bezpečnosťou. Používajte ho iba pri interakcii so staršími systémami, ktoré to vyžadujú.

Vaše údaje zostanú vo vašom zariadení

Obaja Hash generátor a Generátor HMAC spustiť úplne vo vašom prehliadači. Váš text sa nikdy neodošle na server - je zahašovaný lokálne na vašom zariadení, po načítaní stránky funguje offline a nevyžaduje žiadny účet ani prihlásenie. To znamená, že môžete bezpečne hašovať citlivé informácie, ako sú kľúče API, na testovanie bez toho, aby ste ich vystavili internetu.

Bonus: meranie entropie

Ak generujete tajomstvá alebo heslá, Shannonova entropia kalkulačka ukazuje, koľko náhodnosti (a teda bezpečnosti) je v reťazci. Vyššia entropia znamená ťažšie uhádnuť. Použite ho na overenie, že vaše vygenerované tajomstvá sú skutočne náhodné pred ich nasadením.