HMAC Generator (хөтөч дээр HMAC-SHA256)
Сүлжээ ашиглахгүй HMAC SHA256 үүсгэх хуудас бөгөөд HMAC тооцоолол болон signature шалгалтыг хурдан хийхэд зориулагдсан.
Бүх зүйл таны хөтөч дээр локалаар ажиллана. Түлхүүр болон мессеж хэзээ ч дамжуулагдахгүй, хадгалагдахгүй.
Хэрхэн ашиглах вэ (HMAC гарын үсэг үүсгэх)
- Түлхүүрээ оруулна уу. Хэрэв API spec нь binary key byte өгсөн бол Hex эсвэл Base64 оролтын форматыг сонгоно уу.
- Гарын үсэг зурах мессеж payload-оо оруулна уу.
- Гаралтын формат (Hex / Base64 / Base64URL)-аа сонгоод үр дүнг хуулна уу.
Жишээнүүд (test vector)
Жишээ 1 (богино шалгалт)
Оролт: Түлхүүр = secret (UTF-8), Мессеж = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Жишээ 2 (түгээмэл өгүүлбэр)
Оролт: Түлхүүр = key, Мессеж = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
Түгээмэл алдаа
- LF ба CRLF шинэ мөрийн ялгаа өөр signature гаргана.
- Эхлэл/төгсгөлийн хоосон зайг тайрах нь API signature таарахгүй болгодог.
- Base64URL нь ихэвчлэн + -> -, / -> _, мөн = padding-гүй гэсэн үг. API spec-ээ шалгана уу.
- Түлхүүрийг Hex/Base64 байтаар өгсөн бол түүнийг энгийн текст гэж тайлбарлахад үр дүн зөрнө.
Түгээмэл асуултууд
Миний түлхүүр хадгалагдах уу?
Үгүй. Энэ хэрэгсэл таны хөтөч дээр тооцоолж, key/message оролтыг ямар ч сервер рүү илгээхгүй.
Base64 уу эсвэл Hex үү?
Хоёулаа түгээмэл. Та API spec-тэйгээ тааруулж Hex / Base64 / Base64URL гаралтыг сонгож болно.
Ямар тэмдэгтийн encoding ашигладаг вэ (UTF-8)?
Текст оролтыг HMAC тооцооллоос өмнө UTF-8 болгон кодчилно. Binary утгад Hex/Base64 оролт ашиглана уу.
HMAC ба SHA-256 hash хоёрын ялгаа юу вэ?
SHA-256 бол энгийн hash. HMAC нь мессеж баталгаажуулахын тулд нууц түлхүүр нэмдэг.
Миний гаралт таарахгүй байна. Юуг шалгах вэ?
Түлхүүрийн тайлбарлал (text vs bytes), newline, whitespace trimming, мөн Base64URL дүрмээ шалгана уу.
Нэмэлт
HMAC гэж юу вэ?
HMAC нь нууц түлхүүр болон hash функц ашигладаг keyed-hash message authentication code юм.
SHA-256-аас ялгаа нь
SHA-256 дангаараа нууц түлхүүргүй. HMAC-SHA256 нь хамтран мэдэх түлхүүр шаарддаг бөгөөд signature-д ашиглагддаг.
Түгээмэл хэрэглээ
API request signing, webhook verification, token integrity шалгалт.