الأدوات

أداة فكّ تشفير JWT المجانية أونلاين

فكّ تشفير وافحص رموز JSON Web Token مباشرةً في متصفحك. اعرض الرأس والحمولة والادعاءات مع تواريخ انتهاء صلاحية مقروءة. لا يُرسل أي شيء إلى الخادم أبداً.

فاحص الرمز

الخوارزمية
النوع
انتهاء الصلاحية

الرأس (Header)

الحمولة (Payload)

التوقيع (Signature)

يتطلب التحقق من التوقيع المفتاح السري وهو غير مدعوم في هذه الأداة.
تتم جميع عمليات فكّ التشفير محلياً في متصفحك. لا يتم أبداً رفع رمزك أو تخزينه أو تسجيله.

ما هو JWT؟

رمز JSON Web Token (JWT، معيار RFC 7519) هو طريقة مدمجة وآمنة لعناوين URL لتمثيل الادعاءات بين طرفين. يتكوّن من ثلاثة أجزاء مُرمّزة بـ Base64URL ومتصلة بنقاط — header.payload.signature. أكثر استخداماته شيوعاً هو المصادقة عديمة الحالة لواجهات REST API: بعد تسجيل الدخول يُصدر الخادم رمزاً موقّعاً يرسله العميل مع كل طلب، فيتمكّن الخادم من التحقق من الهوية دون الاحتفاظ بحالة الجلسة.

بنية JWT: الرأس والحمولة والتوقيع

الرأس (Header)

يعلن خوارزمية التوقيع (alg، مثل HS256 وRS256 وES256) ونوع الرمز (typ)، وهو دائماً تقريباً JWT.

الحمولة (Payload)

تحمل الادعاءات القياسية والمخصصة. وهي مُرمّزة فقط بـ Base64URL وليست مشفّرة — يمكن لأي شخص قراءتها، لذا لا تخزّن أبداً أسراراً فيها.

التوقيع (Signature)

يُحسب بتوقيع الرأس والحمولة المُرمّزين باستخدام مفتاح سري أو خاص. يُثبت السلامة لكن لا يمكن التحقق منه دون ذلك المفتاح.

شرح ادعاءات JWT الشائعة

تحتوي الحمولة على ادعاءات (claims) — عبارات حول الرمز. هذه الادعاءات المُسجّلة مُعرّفة في معيار JWT:

sub Subject — الجهة التي يتعلق بها الرمز، عادةً معرّف المستخدم.
iss Issuer — يحدد جهة إصدار الرمز.
aud Audience — المستلمون المقصودون بالرمز.
exp Expiration Time — طابع زمني Unix يجب رفض الرمز بعده.
iat Issued At — طابع زمني Unix لوقت إنشاء الرمز.
nbf Not Before — طابع زمني Unix لا يجوز قبول الرمز قبله.
jti JWT ID — معرّف فريد، مفيد لمنع إعادة استخدام الرمز.

أفضل ممارسات أمان JWT

لا تضع أبداً بيانات حساسة في الحمولة — فهي مُرمّزة فقط وليست مشفّرة، ويمكن لأي شخص قراءتها.
اضبط دائماً ادعاء exp واجعل مدة صلاحية الرموز قصيرة للحدّ من أثر تسرّب الرمز.
فضّل الخوارزميات غير المتماثلة (RS256 أو ES256) للخدمات المصغّرة حتى تتمكن الخدمات من التحقق دون مشاركة سرّ.
تحقق دائماً من ادعاءي iss وaud على الخادم، وارفض الرموز التي يكون فيها alg مضبوطاً على none.
لا تكشف الرموز أبداً في عناوين URL أو ملفات السجل؛ أرسلها في رأس Authorization وخزّنها بأمان.

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

لا. رمز JWT القياسي موقّع وليس مشفّراً. الرأس والحمولة مُرمّزان فقط بـ Base64URL، ما يعني أن أي شخص يمتلك الرمز يمكنه فكّ ترميزه وقراءة محتواه. التوقيع يضمن فقط أن الرمز لم يُعبث به — وهو لا يخفي البيانات. إذا كنت بحاجة إلى السرية، فاستخدم JWE (JSON Web Encryption) أو لا تضع أبداً بيانات حساسة في الحمولة.

لا. يتطلب التحقق من توقيع JWT المفتاح السري (لـ HS256) أو المفتاح العام (لـ RS256/ES256)، والذي يجب أن يحتفظ به الخادم المُصدِر وحده. تقوم هذه الأداة عمداً بفكّ ترميز الرمز على جانب العميل دون تحقق، بحيث لا يغادر أي مفتاح جهازك أبداً. تحقق دائماً من التواقيع على خادمك، وليس في المتصفح.

HS256 متماثل: المفتاح السري نفسه يوقّع ويتحقق من الرمز، لذا يمكن لأي طرف قادر على التحقق أن يزوّر الرموز أيضاً. أما RS256 فغير متماثل: مفتاح خاص يوقّع ومفتاح عام منفصل يتحقق. يُفضّل RS256 للأنظمة الموزّعة والخدمات المصغّرة لأنه يمكنك مشاركة المفتاح العام بحرية مع إبقاء مفتاح التوقيع الخاص سرّياً.

ادعاء exp هو طابع زمني Unix بالثواني. من الأخطاء الشائعة تقديمه بالمللي ثانية (13 رقماً) بدلاً من الثواني (10 أرقام)، ما يضع تاريخ الانتهاء بعيداً في الماضي أو المستقبل. كما أن فروق الساعة بين الخوادم قد تسبب انتهاءً مبكّراً — اسمح بهامش بسيط عند التحقق. استخدم فاحص الرمز أعلاه لرؤية تاريخ الانتهاء المقروء بجانب القيمة الخام.