Middle+
HMAC эмне?
sobes.tech AI
AIден жооп
HMAC (Hash негізделген хабарламаны растау коды) — хабарламаның түпнұсқалығын және бүтіндігін тексеру үшін хеш-функция мен құпия кілтті қолданатын механизм.
Ол келесідей жұмыс істейді:
- Хабарлама мен құпия кілт арнайы әдіспен хеш-функция арқылы өңделеді.
- Нәтижесінде бірегей хеш-код (HMAC) алынады.
- Бұл HMAC хабарламамен бірге жіберіледі.
- Қабылдаушы, сол хабарлама мен құпия кілтке ие болып, HMAC-ты қайта есептейді.
- Егер есептелген HMAC қабылданғанмен сәйкес келсе, хабарлама өзгермеген және құпия кілтке ие көзден келген деп есептеледі.
HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))
Мұнда:
K— құпия кілт.m— хабарлама.Hash— қолданылатын хеш-функция (мысалы, SHA-256).||— біріктіру.⊕— XOR операциясы.ipad(ішкі жастықша) жәнеopad(сыртқы жастықша) — алгоритмде қолданылатын тұрақтылар.
Қарапайым хеш-функциядан айырмашылығы — HMAC құпия кілтті қолданады, бұл оны белгілі бір шабуыл түрлеріне қарсы тұрақты етеді, әсіресе хешті жалған жасауға бағытталған шабуылдарға.
Веб-дамуда қолданылуы:
- Bearer токендері: Аутентификация токендерін жасау және тексеру үшін.
- Сұрауларды қолтаңбалау: API-ге сұраулардың түпнұсқалығын тексеру үшін.
- Деректерді тексеру: Мәліметтердің жіберу кезінде өзгермегенін қамтамасыз ету үшін.
Артықшылықтары:
- Жоғары криптографиялық тұрақтылық.
- Әртүрлі хеш-функциялармен үйлесімді.
- Оңай жүзеге асырылады.