Middle+
Co je HMAC?
sobes.tech AI
Odpověď od AI
HMAC (Hash-based Message Authentication Code) je mechanismus pro ověření pravosti a integrity zprávy pomocí hashovací funkce a tajného klíče.
Funguje následovně:
- Zpráva a tajný klíč jsou zpracovány určitým způsobem hashovací funkcí.
- Výsledkem je unikódový hash kód (HMAC).
- Tento HMAC je odeslán spolu se zprávou.
- Příjemce, který má stejnou zprávu a tajný klíč, vypočítá HMAC znovu.
- Pokud vypočítaný HMAC odpovídá přijatému, považuje se zpráva za nezměněnou a pochází ze zdroje, který má tajný klíč.
HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))
Kde:
K— tajný klíč.m— zpráva.Hash— použitá hashovací funkce (například SHA-256).||— spojení.⊕— XOR operace.ipad(vnitřní polštář) aopad(vnější polštář) — konstanty používané v algoritmu.
Rozdíl od běžné hashovací funkce je, že HMAC používá tajný klíč, což z něj činí odolný vůči určitým typům útoků zaměřených na falšování hashe.
Použití ve webovém vývoji:
- Bearer tokeny: Pro tvorbu a ověřování autentizačních tokenů.
- Podpis požadavků: Pro ověření pravosti požadavků na API.
- Ověření dat: Zajištění, že data nebyla během přenosu změněna.
Výhody:
- Vysoká kryptografická odolnost.
- Kompatibilní s různými hashovacími funkcemi.
- Snadná implementace.