ترميز وفك ترميز JWT
الصق الرمز لتقرأ ترويسته وحمولته، أو وقّع رمزك بنفسك — دون أزرار ودون رفع.
اختياري عند فك الترميز (أدخله للتحقّق)، وواجب عند التوقيع.
التوقيع:
الرمز
الترويسة
الحمولة
كيف تستخدمها
- الصق الرمز: تظهر الترويسة والحمولة فورًا دون أي زر. يبقى ما لصقته كما هو في مربع الإدخال؛ الأداة لا تعيد كتابته أبدًا.
- أدخل المفتاح السرّي في المربع أسفل الإدخال للتحقّق من التوقيع. تركه فارغًا يعني ببساطة «لم يُتحقَّق منه»، وتُقرأ المطالبات كما هي.
- انتقل إلى الترميز، واكتب مطالباتك بصيغة JSON، واختر HS256/384/512 مع مفتاح سرّي، ثم انسخ الرمز الناتج. تغيير الوضع لا يمسح ما كتبته.
- تُترجم المطالبات القياسية exp / iat / nbf إلى جملة بلغتك ومنطقتك الزمنية، مع علامتي «منتهية الصلاحية» و«لم يبدأ العمل به بعد».
مثال
الرمز
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1LTQzMjEiLCJuYW1lIjoi2LPYp9ix2Kkg2KPYrdmF2K8iLCJyb2xlIjoiYWRtaW4iLCJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLnNhIiwiaWF0IjoxNzY3MjI1NjAwLCJleHAiOjE3OTg3NjE2MDB9.UVdBhF8nOTPpvbmYF-0Zr4sfTrHA6uekPv3Kbf9Z23w
الترويسة والحمولة
الترويسة
{
"alg": "HS256",
"typ": "JWT"
}
الحمولة
{
"sub": "u-4321",
"name": "سارة أحمد",
"role": "admin",
"iss": "https://api.example.sa",
"iat": 1767225600,
"exp": 1798761600
}وُقّع هذا الرمز بالمفتاح السرّي «سر-تجريبي»؛ أدخله في حقل المفتاح ليتحوّل سطر الحالة إلى «التوقيع صحيح». انتقل إلى الترميز واضغط «مثال» لتحصل على الحمولة نفسها: مع المفتاح نفسه يعيد بناء هذا الرمز محرفًا بمحرف.
القواعد والحدود والمشكلات المعروفة
- الخوارزميات المدعومة هي HS256 وHS384 وHS512 فقط، في التوقيع والتحقّق. تُفكّ رموز RS* وES* وPS* وتُعرض كما هي لكن دون التحقّق من توقيعها — ذلك يحتاج مفتاحًا عامًّا، ويقول سطر الحالة ذلك صراحةً بدل التخمين.
- الرموز بلا توقيع (alg: none) تُفكّ وتُعلَّم بوضوح، لكننا لا ننشئها: طلب التوقيع دون مفتاح يعطي رسالة خطأ لا رمزًا بلا توقيع.
- تبني الأداة الترويسة بنفسها (`{"alg": … ,"typ": "JWT"}`) عند الترميز، ولا تنقل حقولًا مثل kid أو jku أو x5c أو cty — نحن نوقّع مطالبات، لا سلاسل شهادات.
- تُعاد كتابة JSON الحمولة بشكل مضغوط قبل التوقيع، فلا تدخل المسافات البادئة ولا التعليقات في الرمز. ترتيب المفاتيح يتبع كائنات JavaScript: المفاتيح المكرّرة تُستبدل بآخرها، والمفاتيح الرقمية تتقدّم إلى الأمام.
- الأعداد الصحيحة الكبيرة جدًّا تفقد دقّتها — `12345678901234567890` يعود مقتربًا، لأن هذا سلوك أعداد JavaScript. لا نصحّح ذلك بصمت؛ استخدم النصوص عندما تهمّ الأرقام بدقّة.
- يُعرض JSON بمسافات بادئة لتسهيل القراءة، بينما يغطّي التوقيع الجزأين الخام كما يظهران في الرمز. لا يُعاد ترميز شيء خلف الكواليس، فما يتحقّق هنا يتحقّق في شفرتك أيضًا.
- base64url صارم: تُبلَّغ `+` و`/` و`=` كأخطاء بدل قبولها بصمت، والبايتات غير الصالحة كـ UTF-8 تُبلَّغ بدل استبدالها. تُتجاهل الفراغات داخل الرمز الملصوق، فالرموز لا تحتويها أصلًا.
- لا تُفكّ شفرة JWE المكوّن من خمسة أجزاء، لكننا نخبرك أن هذا ما لصقته.
- الحد 10,000 محرف. لا شيء يُرفع أو يُحفظ أو يُكتب في الرابط أو يُشارك: زر المشاركة يشارك عنوان هذه الصفحة فقط، لا رمزك ولا مفتاحك.
أدوات ذات صلة
بعد قراءة المطالبات، هذه هي الخطوات التالية المعتادة.