لا يتم إرسال بيانات

مولد HMAC (حساب HMAC-SHA256 في المتصفح)

أداة حساب HMAC لتوليد HMAC SHA256 هنا مباشرة. المفاتيح والمدخلات لا يتم إرسالها ولا تخزينها.

يدعم مدخلات النص/Hex/Base64 ومخرجات Hex/Base64. يحسب بشكل آمن باستخدام واجهة برمجة تطبيقات التشفير القياسية للمتصفح.

حساب محلي لا تخزين يدعم Hex/Base64

الإدخال والإخراج

تقوم هذه الصفحة بإجراء الحسابات بالكامل داخل المتصفح ولا ترسل أي بيانات.

لا يتم إرسال بيانات
تنسيق الإدخال

* 'تسلسل البايت' وفقًا لمواصفات API مهم. إذا كان المفتاح ثنائيًا، يرجى إدخاله بتنسيق Hex/Base64.

تنسيق الإدخال
طول الإخراج: 32 بايت (SHA-256)
خيارات

ستتغير النتائج إذا اختلفت رموز السطر الجديد بسبب نظام التشغيل أو النسخ واللصق.

بما أن توقيعات API تفترض 'التطابق التام'، فإن الإبقاء كما هو مستحسن بشكل عام.

الاستخدام

الخطوات الأساسية الثلاث لإنشاء توقيع HMAC.

  1. 1 أدخل المفتاح (اختر Hex / Base64 إذا كانت مواصفات API ثنائية)
  2. 2 أدخل الرسالة (السلسلة للتوقيع / الحمولة)
  3. 3 اختر تنسيق الإخراج (Hex / Base64) وانسخ

يتم حساب HMAC على 'تسلسل البايت'، وليس 'سلاسل الأحرف'. حتى لو بدت متشابهة، ستختلف النتائج إذا اختلف ترميز الأحرف، أو الأسطر الجديدة، أو المسافات البيضاء الزائدة (يفترض UTF-8).

أمثلة (متجهات اختبار للتحقق)

انقر فوق 'تحميل مثال' لتعبئة حقول الإدخال.

مثال 1
المفتاح (نص/UTF-8)
secret
الرسالة (نص/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
مثال 2
المفتاح (نص/UTF-8)
key
الرسالة (نص/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

المخاطر الشائعة

اختلافات رمز السطر الجديد (LF/CRLF)

تتغير النتائج إذا اختلفت معالجة السطر الجديد.

القص (إزالة المسافات البيضاء)

بما أن التوقيعات تفترض التطابق التام، فإن إزالة المسافات البيضاء قد تسبب عدم تطابق.

تدوين Base64URL

يستخدم Base64URL عادةً +→-، /←_، ويحذف =. يرجى التحقق من المواصفات.

معالجة المفتاح (نص مقابل ثنائي)

مثال: إدخال 'deadbeef' كـ 'سلسلة' مقابل إدخاله كـ 'تسلسل بايت 0xDE 0xAD...'.

معلومات تكميلية

ما هو HMAC؟

آلية لإنشاء توقيع من مفتاح سري ورسالة. لا يمكن لطرف ثالث إنشاء نفس النتيجة بدون نفس المفتاح.

الفرق عن SHA-256

SHA-256 هو 'تجزئة'، HMAC هو 'تجزئة بمفتاح (توقيع)'.

حالات الاستخدام

يستخدم لتوقيعات API، والتحقق من Webhook، واكتشاف تلاعب الطلب، وما إلى ذلك.

الأسئلة الشائعة

هل يتم تخزين المفتاح؟

لا يتم تخزينه. تقوم هذه الأداة بالحساب داخل المتصفح ولا ترسل المفاتيح أو الرسائل إلى خادم. (※ كإجراء احترازي، يرجى إعادة التعيين بعد الإدخال على جهاز كمبيوتر مشترك)

Base64 أم Hex؟

كلاهما مستخدم. يمكنك اختيار تنسيق الإخراج (Hex / Base64 / Base64URL). يرجى الاختيار وفقًا لمواصفات API.

ترميز الأحرف؟

يفترض UTF-8. يتم تحويل إدخال النص إلى بايتات كـ UTF-8 للحساب. استخدم إدخال Hex / Base64 للتعامل مع الثنائي.

الفرق بين HMAC وتجزئة SHA-256؟

SHA-256 هو 'تجزئة'، HMAC هو 'تجزئة بمفتاح (توقيع)'. لا يمكن إنتاج نفس النتيجة ما لم تتطابق المفاتيح.

الإخراج لا يتطابق

الأسباب الشائعة هي (1) معالجة المفتاح (نص مقابل ثنائي)، (2) الأسطر الجديدة، (3) المسافات البيضاء، (4) Base64URL. يرجى التحقق من المخاطر أعلاه بالترتيب.