فك ترميز JWT — فحص رموز JSON Web Token
فك ترميز ترويسة JWT وحمولته والتحقق من انتهاء الصلاحية (دون التحقق من التوقيع)
تعمل في متصفحك · لا يُرفع أي شيء
تفك هذه الأداة ترميز الرمز فقط ولا تتحقق من التوقيع، فكونه مقروءًا لا يعني أنه صالح أو جدير بالثقة. لا يغادر أي شيء متصفحك.
ما هذه الأداة؟
يحمل JWT (JSON Web Token) مطالبات مثل هوية المستخدم. ويتكون من ثلاثة أجزاء تفصل بينها نقاط: الترويسة (header) والحمولة (payload) والتوقيع. والجزآن الأولان JSON مرمّز بـ base64url، فيمكن لأي شخص قراءتهما. تفكك هذه الأداة الرمز وتعرض محتواه بشكل مرتب، لكنها لا تتحقق من التوقيع.
طريقة الاستخدام
- الصق الرمز في مربع الإدخال. تُتجاهل البادئة
Bearerوأي فواصل أسطر. - تظهر الترويسة والحمولة كـ JSON منسق بمسافات بادئة، ولكل منهما زر نسخ.
- إذا احتوت الحمولة على exp أو iat أو nbf، فإنها تُعرض كتواريخ مقروءة مع الوقت المتبقي أو المنقضي («بعد 3 ساعات»، «قبل يومين»)، وتُذكر حالة انتهاء الصلاحية.
- إذا كان الرمز مشوّهًا، فإن رسالة الخطأ تخبرك بالجزء الخاطئ. ويُبلَّغ عن الرمز المشفّر ذي الأجزاء الخمسة (JWE) بأنه غير مقروء دون مفتاحه.
كيف تعمل؟
- تتبع البنية RFC 7519 (JWT) وRFC 7515 (JWS): ثلاثة أجزاء بالضبط تفصل بينها نقاط.
- يُفك ترميز كل جزء من base64url كما في RFC 4648 (
-و_، والحشو اختياري) ويُقرأ كـ UTF-8. - يجب أن تكون الترويسة والحمولة كائنات JSON، والمصفوفة أو النص يُعرضان كخطأ.
- تُفسَّر exp وiat وnbf كثوانٍ فقط عندما تكون أعدادًا، ثم تُعرض بتنسيق لغتك وبصيغة ISO 8601 (UTC).
- حالة انتهاء الصلاحية تقارن الوقت الحالي بـ exp وnbf فقط. لا يُتحقق من التوقيع، فالرموز التي فيها alg بالقيمة none أو توقيع خاطئ تُفك بالطريقة نفسها.
أمثلة
| الجزء | المحتوى |
|---|---|
| بداية الرمز | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 |
| header | {"alg": "HS256", "typ": "JWT"} |
| payload | {"sub": "1234567890", "name": "John Doe", "iat": 1516239022} |
| iat | 2018-01-18T01:30:22Z |
هذا الرمز هو العينة التدريبية المعتادة في مقدمات JWT. والرمز الذي تحتوي حمولته على {"name": "أحمد"} يُفك أيضًا دون تشويه.
الأسئلة الشائعة
هل تتحقق هذه الأداة من توقيع JWT؟
لا، فهي تفك الترميز فقط. وكون الرمز مقروءًا لا يعني أنه أصلي أو صالح. والثقة به يجب أن تُقرَّر بالتحقق من التوقيع بالمفتاح السري أو العام على خادمك.
هل لصق الرمز هنا آمن؟
يجري فك الترميز في متصفحك فقط ولا يُرسل الرمز. ومع ذلك، تجنّب لصق رموز بيئة الإنتاج الفعالة في الشاشات المشتركة أو المستندات.
هل يظهر النص العربي في الحمولة بشكل صحيح؟
نعم. JWT هو JSON بترميز UTF-8 مرمّز بـ base64url، وتفك هذه الأداة ترميزه كـ UTF-8، فتظهر الأسماء بالعربية والصينية والكورية وغيرها والرموز التعبيرية سليمة.
ما نوع الوقت في قيمة exp؟
هي NumericDate، أي عدد الثواني منذ 1 يناير 1970 بتوقيت UTC. وتعرضها الأداة بلغة متصفحك ومنطقته الزمنية، مع صيغة ISO 8601 بتوقيت UTC.