← Kriptografiya va identifikatsiya
MODUL 08 / DARS 04

HMAC va xabar haqiqiyligi

Yaxlitlikni umumiy maxfiy kalit bilan tekshiring.

45 daqiqa Python 3

MAC nima beradi?

Oddiy hashni har kim qayta hisoblay oladi. HMAC xabar va maxfiy kalitdan foydalanib haqiqiylik kodini hisoblaydi. Kalitni bilmagan tomon to‘g‘ri kod yaratishi qiyin. U shifrlamaydi va umumiy kalitni biladigan ikki tomon orasida kim yozganini mustaqil isbotlamaydi.

Aniq baytlar muhim

JSON bo‘shliqlari yoki maydon tartibi o‘zgarsa baytlar o‘zgaradi. Imzolash formatini aniq belgilang, kirish va verifikatsiyada bir xil canonical representation ishlating. Taqqoslashda compare_digest foydalaning.

Replay himoyasi

To‘g‘ri HMAC eski xabarni qayta yuborishni o‘zi to‘xtatmaydi. Vaqt oynasi, nonce yoki bir martalik identifikator va server tekshiruvi kerak. Webhook autentifikatsiyasi uchun provayderning aniq protokoliga rioya qiling. Dars kaliti sintetik, haqiqiy sir emas.

Python’da ko‘rib chiqamiz

import hmac
key = b"training-key-only"
tag = hmac.digest(key, b"amount=10", "sha256")
changed = hmac.digest(key, b"amount=11", "sha256")
print(hmac.compare_digest(tag, changed))

Misolni

Mustaqil mashq

Xabar o‘zgarmaganda True qaytishini tekshiring. Nonce saqlash jadvalini chizing. HMAC va shifrlashning farqini yozing.

Chuqurroq o‘rganing

Rasmiy hujjatni ochish ↗
O‘QING → O‘ZGARTIRING → SINANG

Python ish maydoni

.py

Kod brauzeringizda Web Worker orqali bajariladi. Serverga yuborilmaydi. Standart kutubxona bilan ishlang; lokal shell va host fayllari mavjud emas.

● ● ●hmac-signature.pyPython 3.14
Muhit ishga tushirishda yuklanadi
NATIJA
Kod natijasi shu yerda ko‘rinadi.
JAVOBI TEKSHIRILADIGAN TOPSHIRIQ

Natijani tahlil qiling

O‘zgartirilgan xabar tegi mos keladimi?

Yordamchi ishora

Xabar baytlari o‘zgargan.

Python misolini hisobsiz ham bajara olasiz. Javobni tekshirish va natijani saqlash uchun hisobga kiring.

Hisobga kirish

Bu tekshiruv javob mosligini baholaydi. Mustaqil mashq va loyiha sifatini dars mezonlari bilan alohida tekshiring.

BILIMINGIZNI MUSTAHKAMLANG

Dars testi

To‘g‘ri javob bering. Qayta urinish mumkin; eng yaxshi natijangiz saqlanadi.

1. HMAC replay’ni o‘zi to‘xtatadimi?
Test uchun hisobga kirish
O‘Z SO‘ZINGIZ BILAN YOZING

Shaxsiy konspekt

Tushunganlaringiz, savollaringiz va keyingi amaliyotingiz. Parol yoki token yozmang.

Konspekt uchun hisobga kirish