Sobes.tech
Middle+

Ce este HMAC?

sobes.tech AI

Răspuns de la AI

HMAC (Cod de autentificare a mesajelor bazat pe hash) este un mecanism pentru verificarea autenticității și integrității unui mesaj folosind o funcție hash și o cheie secretă.

Funcționează astfel:

  1. Mesajul și cheia secretă sunt procesate printr-o funcție hash într-un mod specific.
  2. Ca rezultat, se obține un cod hash unic (HMAC).
  3. Acest HMAC este trimis împreună cu mesajul.
  4. Destinatarul, având același mesaj și aceeași cheie secretă, calculează din nou HMAC.
  5. Dacă HMAC calculat corespunde cu cel primit, se consideră că mesajul nu a fost modificat și provine dintr-o sursă care deține cheia secretă.

HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))

Unde:

  • K — cheie secretă.
  • m — mesaj.
  • Hash — funcția hash utilizată (de exemplu, SHA-256).
  • || — concatenare.
  • — operație XOR.
  • ipad (pernă interioară) și opad (pernă exterioară) — constante utilizate în algoritm.

Diferența față de o funcție hash obișnuită este că HMAC folosește o cheie secretă, ceea ce îl face rezistent la anumite tipuri de atacuri menite să falsifice hash-ul.

Aplicații în dezvoltarea web:

  • Tokenuri Bearer: Pentru crearea și verificarea tokenurilor de autentificare.
  • Semnarea cererilor: Pentru verificarea autenticității cererilor către API.
  • Verificarea datelor: Garanția că datele nu au fost modificate în timpul transmiterii.

Avantaje:

  • Rezistență criptografică ridicată.
  • Compatibil cu diferite funcții hash.
  • Ușor de implementat.