تخطي إلى المحتوى
SPCX Tools

تشفير JWT

قم بتوليد وتوقيع رموز JSON Web Tokens (JWT) المعتمدة على HMAC فوراً في متصفحك.

تعمل محلياً — ملفاتك لا تغادر جهازك أبداً

جاري تحميل الأداة…

كيفية استخدام تشفير JWT

  1. 1اختر خوارزمية توقيع HMAC المفضلة لديك (HS256 أو HS384 أو HS512).
  2. 2قم بتعديل بيانات JSON (payload). استخدم الأزرار السريعة لإدراج الوقت الحالي للمطالبات القياسية مثل iat و exp.
  3. 3أدخل مفتاحك السري. إذا كان نظامك يستخدم مفتاحاً مشفراً بصيغة Base64، فحدد مربع Base64.
  4. 4يتم تحديث الرمز الموقّع تلقائياً أثناء الكتابة. انقر على نسخ للحصول على رمز JWT النهائي.

أداة تشفير JWT محلية وآمنة

تتيح أداة تشفير jwt هذه للمطورين صياغة وتعديل وتوقيع رموز JSON Web Tokens بسرعة ومباشرة في المتصفح. سواء كنت تبني مسار مصادقة، أو تختبر نقطة نهاية API، أو تصحح أخطاء خدمة مصغرة، يمكنك إنشاء رموز صالحة فوراً دون كتابة نصوص برمجية مخصصة أو تعريض بيانات الاعتماد الخاصة بك لخوادم جهات خارجية.

نظراً لأن الأداة تعتمد على واجهة Web Crypto API الأصلية في متصفحك، فإن جميع عمليات معالجة البيانات والتوقيع المشفر تتم بالكامل على جهازك. لا يتم أبداً رفع أو تخزين أو تسجيل حمولة JSON أو المفاتيح السرية الخاصة بك. هذا النهج المحلي أولاً يجعل توقيع JWT عبر الإنترنت آمناً، حتى عند التعامل مع بيانات اعتماد حساسة خاصة ببيئات التطوير أو الاختبار.

كيفية إنشاء توكن JWT

لـ إنشاء توكن JWT، تحتاج إلى ثلاثة مكونات: الترويسة (التي تحدد الخوارزمية)، والبيانات (التي تحتوي على معلوماتك)، والمفتاح السري (الذي يؤمن التوكن).

ابدأ بتحديد الخوارزمية. تعمل هذه الأداة كـ مولد HS256 jwt قوي، كما تدعم أيضًا HS384 و HS512. وهي خوارزميات HMAC متماثلة، مما يعني أنه يتم استخدام نفس المفتاح السري لتوقيع التوكن والتحقق منه لاحقًا. كلما كان الرقم أكبر (مثل 512)، زاد حجم الهاش (hash) الناتج، مما يوفر أمانًا تشفيريًا أقوى مقابل زيادة طفيفة في طول سلسلة التوكن.

بعد ذلك، قم بتحديد بياناتك (payload) في مربع النص المخصص. يجب أن تكون البيانات بتنسيق JSON صالح. أثناء تعديلك لبيانات JSON أو تحديث المفتاح السري، تقوم الأداة بإعادة حساب التوقيع في الوقت الفعلي، مما يوفر تنبيهًا فوريًا في حال وجود خطأ في بنية JSON. بمجرد إعداد البيانات والمفتاح السري، يصبح التوكن النهائي جاهزًا للنسخ والاستخدام في ترويسات Authorization أو ملفات تعريف الارتباط (cookies) في تطبيقك.

حالات الاستخدام الشائعة لإنشاء الرموز (Tokens)

يعد توفر مولد jwt موثوق أمراً أساسياً لتطوير الويب الحديث. يستخدم المطورون هذه الأداة بشكل متكرر في مجموعة متنوعة من سيناريوهات الاختبار وتصحيح الأخطاء:

اختبار نقاط نهاية API: عند العمل مع عملاء API مثل Postman أو Insomnia، غالباً ما تحتاج إلى رمز Bearer صالح للوصول إلى المسارات المحمية. بدلاً من تشغيل تطبيق الواجهة الأمامية بالكامل لتسجيل الدخول وجلب الرمز، يمكنك إنشاء رمز يدوياً هنا باستخدام معرف المستخدم والصلاحيات التي تحتاجها بالضبط.

تصحيح أخطاء منطق المصادقة: إذا كانت الواجهة الخلفية ترفض الرموز، فإن إنشاء رمز يدوياً يساعد في تحديد المشكلة. يمكنك التحقق مما إذا كان الخطأ ناتجاً عن مفتاح سري غير صحيح، أو حمولة (payload) غير صالحة، أو عدم تطابق في خوارزمية التوقيع.

صياغة الحالات الطرفية (Edge Cases): يعد اختبار كيفية تعامل الواجهة الخلفية مع الرموز منتهية الصلاحية، أو المطالبات (claims) المفقودة، أو الصلاحيات غير المصرح بها أمراً بالغ الأهمية للأمان. يمكنك بسهولة تعديل حمولة JSON هنا لإنشاء هذه الحالات والتأكد من استجابة الخادم برموز حالة HTTP الصحيحة.

إدارة الطوابع الزمنية والمطالبات

تستخدم رموز JSON Web Tokens حقولاً محددة تُعرف باسم المطالبات (claims) لنقل معلومات حول دورة حياة الرمز والمستخدم الذي يمثله. المطالبات الأكثر شيوعاً والمستندة إلى الوقت هي iat (وقت الإصدار) و exp (وقت انتهاء الصلاحية). تتطلب كلتا المطالبتين طابعاً زمنياً بنظام Unix، وهو عدد الثواني التي انقضت منذ 1 يناير 1970.

قد يكون حساب هذه الطوابع الزمنية يدوياً أمراً مرهقاً أثناء الاختبار. لتسريع سير عملك، تتضمن هذه الأداة أزرار إجراءات سريعة أعلى محرر حمولة البيانات (payload).

  • النقر على iat = now يؤدي فوراً إلى إدراج أو تحديث حقل iat بوقت Unix الحالي.
  • النقر على exp = +1h أو exp = +24h يحسب الطابع الزمني المستقبلي ويُحدّث حقل exp بناءً على ذلك.

يضمن ذلك أن تكون الرموز المُنشأة صالحة على الفور، ولن يتم رفضها قبل الأوان بواسطة منطق التحقق من الوقت في خادمك.

التعامل مع مفاتيح Base64 السرية

من العقبات الشائعة عند محاولة توقيع رموز JWT عبر الإنترنت هي كيفية التعامل مع ترميز المفتاح السري. توصي العديد من أنظمة الواجهة الخلفية والدروس التعليمية بإنشاء مصفوفة بايتات قوية وعشوائية للمفتاح السري HMAC، وتخزينها كنص Base64 في متغيرات البيئة.

إذا كان خادمك يفك ترميز نص Base64 إلى بايتات خام قبل توقيع الرمز أو التحقق منه، فإن لصق نص Base64 مباشرة في أي أداة توليد قياسية سيؤدي إلى توقيع غير صالح. حيث ستتعامل الأداة مع أحرف Base64 كنص عادي، مما يؤدي إلى عدم تطابق التوقيع.

لحل هذه المشكلة، ما عليك سوى تحديد مربع المفتاح السري مرمز بصيغة Base64. ستقوم الأداة بفك ترميز النص السري إلى البايتات الخام الأصلية قبل تطبيق تجزئة HMAC، مما يضمن تطابق التوقيع الناتج تمامًا مع بيئة الخادم لديك.

فهم بنية JWT

عند إنشاء رمز، يتم عرض النتيجة بتنسيق مرمز بالألوان لمساعدتك على فهم بنيته. يتكون رمز JWT القياسي من ثلاثة أجزاء مفصولة بنقاط (.):

  1. الرأس (أحمر): يحتوي على بيانات وصفية حول الرمز، وبشكل أساسي خوارزمية التوقيع (مثل {"alg":"HS256","typ":"JWT"}). يتم إنشاؤه تلقائياً بناءً على الخوارزمية التي اخترتها ويتم ترميزه بصيغة Base64-URL.
  2. الحمولة (أزرق): بيانات JSON الفعلية الخاصة بك، والتي يتم ترميزها أيضاً بصيغة Base64-URL. يمكن لأي شخص يعترض الرمز قراءة هذا الجزء بسهولة، ولهذا السبب يجب ألا تضع أبداً كلمات مرور أو بيانات شديدة الحساسية في الحمولة.
  3. التوقيع (أخضر): التجزئة المشفرة للرأس المرمز والحمولة المرمزة، والموقعة باستخدام مفتاحك السري. يضمن هذا عدم التلاعب بالرمز أثناء نقله.

إذا كان لديك رمز بالفعل وترغب في عرض محتوياته بدون المفتاح السري، يمكنك لصقه في أداة فك ترميز JWT الخاصة بنا لفحص الرأس والحمولة بأمان.

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

ما هي الخوارزميات التي تدعمها هذه الأداة؟
تدعم هذه الأداة حاليًا الخوارزميات المستندة إلى HMAC: HS256 (HMAC مع SHA-256)، وHS384، وHS512. وهي خوارزميات متماثلة، مما يعني استخدام نفس المفتاح السري لتوقيع الرمز والتحقق من صحته.
هل يُرسل مفتاحي السري إلى أي خادم؟
لا. تتم جميع عمليات التوقيع التشفيري محليًا داخل متصفحك باستخدام Web Crypto API. لا تغادر بيانات JSON أو مفتاحك السري جهازك أبدًا، مما يجعلها طريقة آمنة لإنشاء الرموز لأغراض الاختبار.
ما وظيفة مربع الاختيار Base64؟
في العديد من أطر عمل الواجهة الخلفية، يُحفظ المفتاح السري لـ JWT كنص مشفر بصيغة Base64 بدلاً من نص عادي. تحديد هذا المربع يقوم بفك تشفير مُدخلك إلى بايتات خام قبل تطبيق خوارزمية HMAC، مما يضمن تطابق التوقيع المُنشأ تمامًا مع ما يتوقعه خادمك.
كيف تعمل أزرار الوقت؟
تقوم أزرار iat (تاريخ الإصدار) و exp (تاريخ الانتهاء) بإدراج طوابع Unix الزمنية القياسية (عدد الثواني منذ 1 يناير 1970) في بيانات JSON الخاصة بك. هذا يوفر عليك عناء البحث عن وقت epoch الحالي أو حسابه يدويًا.
لماذا يظهر الرمز الخاص بي كغير صالح عند محاولة التحقق منه على خادمي؟
الأسباب الأكثر شيوعًا هي عدم تطابق المفتاح السري، أو استخدام خوارزمية غير صحيحة، أو اختلاف في طريقة تشفير المفتاح. تأكد من استخدامك لنفس النص السري تمامًا، وتحقق مما إذا كان خادمك يتطلب فك تشفير المفتاح من صيغة Base64 قبل التوقيع.