HMAC ජනකය (Browser තුළ HMAC-SHA256)

වේගවත් HMAC ගණනය සහ signature තහවුරු කිරීම් සඳහා network භාවිත නොකරන HMAC SHA256 ජනන පිටුවක්.

සියල්ල ඔබගේ browser එක තුළ දේශීයව ක්‍රියා කරයි. යතුරු සහ පණිවිඩ කිසි විටෙකත් සම්ප්‍රේෂණය හෝ සුරැකීම නොකරයි.

දේශීය ගණනය ගබඩා කිරීම නැහැ Hex සහ Base64
ජාල සම්ප්‍රේෂණය නැහැ

භාවිතා කරන ආකාරය

  1. යතුර ඇතුළත් කරන්න. ඔබගේ API විශේෂණයේ binary key bytes ලබා දෙන්නේ නම්, Hex හෝ Base64 input format එක තෝරන්න.
  2. Signature කිරීමට message payload එක ඇතුළත් කරන්න.
  3. ප්‍රතිදාන ආකෘතිය (Hex / Base64 / Base64URL) තෝරා ප්‍රතිඵලය පිටපත් කරන්න.
HMAC ක්‍රියා කරන්නේ bytes මතයි, පෙනෙන පෙළ මත නොවේ. UTF-8 encoding, newline වෙනස්කම් සහ අතිරේක spaces ප්‍රතිඵලය වෙනස් කරයි.

උදාහරණ (test vectors)

උදාහරණය 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 newline වෙනස්කම් වෙනස් signatures ලබා දෙයි.
  • ආරම්භයේ/අවසানের whitespace ඉවත් කිරීම API signature ගැළපීම බිඳ දැමිය හැක.
  • Base64URL බොහෝවිට + සිට -, / සිට _, සහ = padding ඉවත් කිරීම අදහස් කරයි. ඔබගේ API විශේෂණය පරීක්ෂා කරන්න.
  • යතුර Hex/Base64 bytes ලෙස ලබා දී ඇත්නම් එය සාමාන්‍ය පෙළක් ලෙස සලකා බැලීම mismatch ඇති කරයි.

නිතර අසන ප්‍රශ්න

මගේ යතුර සුරකිනවාද?

නැහැ. මෙම මෙවලම ඔබගේ browser එක තුළ ගණනය කරන අතර key/message ආදානය කිසිදු server එකකට යවන්නේ නැහැ.

Base64 ද Hex ද?

දෙකම සාමාන්‍යයි. ඔබගේ API විශේෂණයට ගැළපෙන ලෙස Hex / Base64 / Base64URL ප්‍රතිදානය තෝරා ගත හැක.

භාවිත වන අක්ෂර කේතනය (UTF-8) කුමක්ද?

Text input HMAC ගණනයට පෙර UTF-8 ලෙස encode කෙරේ. Binary values සඳහා Hex/Base64 input භාවිත කරන්න.

HMAC සහ SHA-256 hash අතර වෙනස කුමක්ද?

SHA-256 යනු සාමාන්‍ය hash එකකි. HMAC පණිවිඩ සත්‍යාපනය සඳහා රහස් යතුරක් එක් කරයි.

මගේ ප්‍රතිදානය ගැළපෙන්නේ නැහැ. මොනවා පරීක්ෂා කළ යුතුද?

Key අර්ථකථනය (text vs bytes), newline හැසිරවීම, whitespace trimming, සහ Base64URL නීති පරීක්ෂා කරන්න.

අතිරේක තොරතුරු

HMAC කියන්නේ මොකක්ද?

HMAC යනු රහස් යතුරක් සහ hash function එකක් භාවිත කරන keyed-hash message authentication code එකකි.

SHA-256 සමඟ වෙනස

SHA-256 එකට පමණක් රහස් යතුරක් නැහැ. HMAC-SHA256 සඳහා shared key එකක් අවශ්‍ය වන අතර signature සඳහා භාවිත වේ.

සාමාන්‍ය භාවිත අවස්ථා

API request signing, webhook verification, සහ token integrity checks.