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:
- Mesajul și cheia secretă sunt procesate printr-o funcție hash într-un mod specific.
- Ca rezultat, se obține un cod hash unic (HMAC).
- Acest HMAC este trimis împreună cu mesajul.
- Destinatarul, având același mesaj și aceeași cheie secretă, calculează din nou HMAC.
- 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ă) șiopad(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.