HMAC Generator (хөтөч дээр HMAC-SHA256)

Сүлжээ ашиглахгүй HMAC SHA256 үүсгэх хуудас бөгөөд HMAC тооцоолол болон signature шалгалтыг хурдан хийхэд зориулагдсан.

Бүх зүйл таны хөтөч дээр локалаар ажиллана. Түлхүүр болон мессеж хэзээ ч дамжуулагдахгүй, хадгалагдахгүй.

Локал тооцоолол Storage ашиглахгүй Hex ба Base64
Сүлжээгээр дамжуулахгүй

Хэрхэн ашиглах вэ (HMAC гарын үсэг үүсгэх)

  1. Түлхүүрээ оруулна уу. Хэрэв API spec нь binary key byte өгсөн бол Hex эсвэл Base64 оролтын форматыг сонгоно уу.
  2. Гарын үсэг зурах мессеж payload-оо оруулна уу.
  3. Гаралтын формат (Hex / Base64 / Base64URL)-аа сонгоод үр дүнг хуулна уу.
HMAC нь харагдах текст дээр биш, байт дээр ажилладаг. UTF-8 encoding, шинэ мөрийн ялгаа, нэмэлт хоосон зай нь үр дүнг өөрчилнө.

Жишээнүүд (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 шалгалт.