تولیدکننده HMAC (HMAC-SHA256 در مرورگر)
یک صفحه تولید HMAC SHA256 بدون شبکه برای محاسبه سریع HMAC و بررسی امضا.
همهچیز بهصورت محلی در مرورگر شما اجرا میشود. کلیدها و پیامها هرگز منتقل یا ذخیره نمیشوند.
نحوه استفاده (HMAC signature)
- کلید را وارد کنید. اگر مشخصات API شما بایتهای کلید باینری را میدهد، فرمت ورودی Hex یا Base64 را انتخاب کنید.
- پیام یا payloadی را که باید امضا شود وارد کنید.
- فرمت خروجی (Hex / Base64 / Base64URL) را انتخاب کنید و نتیجه را کپی کنید.
نمونهها (بردارهای آزمون)
نمونه 1 (بررسی کوتاه)
ورودی: Key = secret (UTF-8)، Message = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
نمونه 2 (عبارت رایج)
ورودی: Key = key، Message = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
خطاهای رایج
- تفاوت newlineهای LF و CRLF امضاهای متفاوتی تولید میکند.
- حذف فاصلههای ابتدا/انتها ممکن است باعث عدم تطابق امضای API شود.
- Base64URL معمولاً یعنی + به -، / به _ و حذف padding =. مشخصات API خود را بررسی کنید.
- اگر کلید بهصورت بایتهای Hex/Base64 داده شده باشد، در نظر گرفتن آن بهعنوان متن ساده باعث عدم تطابق میشود.
پرسشهای متداول
آیا کلید من ذخیره میشود؟
خیر. این ابزار در مرورگر شما محاسبه میکند و کلید/پیام را به هیچ سروری ارسال نمیکند.
Base64 یا Hex؟
هر دو رایج هستند. میتوانید خروجی Hex / Base64 / Base64URL را مطابق مشخصات API خود انتخاب کنید.
از چه کدگذاری کاراکتری استفاده میشود (UTF-8)؟
ورودی متنی پیش از محاسبه HMAC به UTF-8 کدگذاری میشود. برای مقادیر باینری از ورودی Hex/Base64 استفاده کنید.
تفاوت HMAC و هش SHA-256 چیست؟
SHA-256 یک هش ساده است. HMAC یک کلید محرمانه برای احراز اصالت پیام اضافه میکند.
خروجی من یکی نیست. چه چیزهایی را بررسی کنم؟
نحوه تفسیر کلید (متن در برابر بایت)، newline، trim فاصلهها و قواعد Base64URL را بررسی کنید.
توضیحات تکمیلی
HMAC چیست؟
HMAC یک کد احراز اصالت پیام مبتنی بر هش و کلید است که از یک کلید محرمانه و تابع هش استفاده میکند.
تفاوت با SHA-256
SHA-256 بهتنهایی کلید محرمانه ندارد. HMAC-SHA256 به یک کلید مشترک نیاز دارد و برای امضا استفاده میشود.
موارد استفاده رایج
امضای درخواستهای API، تأیید webhook و بررسی تمامیت توکن.