Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

تخطي إلى المحتوى الرئيسي
Gizke.com
المدونة

أداة فك تشفير JWT

يعمل على جهازك. لا يُرسل أي شيء.

افك تشفير وافحص رموز JSON Web Token بالكامل في متصفحك - الترويسة (header) والحمولة (payload) وتاريخ الانتهاء وفحص توقيع اختياري، لا يُرفع أي شيء إلى أي مكان.

JSON Web Token (JWT) هو طريقة مضغوطة وآمنة لعناوين URL لتمثيل الادعاءات بين طرفين - يُستخدم في كل مكان، من ترويسات "Authorization: Bearer ..." إلى ملفات تعريف ارتباط الجلسة وتسجيل الدخول الموحّد (SSO). الـ JWT هو ببساطة ثلاثة أجزاء مشفّرة بـ base64url (الترويسة والحمولة والتوقيع) مجموعة بنقاط، لذا يمكن لأي شخص فك تشفير الترويسة والحمولة وقراءتهما دون الحاجة إلى مفتاح التوقيع - التحقق من التوقيع فقط هو ما يتطلب سرًا أو مفتاحًا خاصًا. تفك هذه الأداة تشفير كلا الجزأين محليًا في متصفحك، وتشرح الادعاءات القياسية، وتُشير إلى رمز منتهي الصلاحية أو غير سارٍ بعد، وتحذّر من فخ أمان خوارزمية "none" - رمزك لا يُرسل أبدًا إلى أي مكان.

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

هل يُرسل JWT الخاص بي إلى خادم؟
لا. يحدث فك التشفير بالكامل في متصفحك باستخدام واجهتي الويب atob وTextDecoder - الرمز، وأي سر أو مفتاح عام تلصقه للتحقق من توقيع، لا يغادران جهازك أبدًا.
هل يمكن لهذه الأداة التحقق من التوقيع؟
نعم، كميزة إضافية على أساس بذل أفضل جهد. إذا كنت تعرف سر HMAC (لـ HS256/384/512) أو ألصقت المفتاح العام المشفّر بـ PEM (لـ RS256/384/512 أو ES256/384/512)، تتحقق الأداة من التوقيع محليًا باستخدام واجهة Web Crypto الخاصة بالمتصفح. بدون مفتاح، يتم فك تشفير الترويسة والحمولة وعرضهما فقط - فك التشفير نفسه لا يتطلب أبدًا مفتاح التوقيع.
لماذا تظهر الخوارزمية باسم "none"؟
"alg": "none" تعني أن الرمز غير موقّع على الإطلاق - كان بإمكان أي شخص كتابة أي ادعاءات بداخله. قبلت بعض المكتبات تاريخيًا هذه الرموز غير الموقّعة كصالحة، وهو ما أصبح طريقة معروفة للالتفاف على المصادقة. تُشير هذه الأداة دائمًا إلى ذلك بوضوح حتى لا يفوتك الأمر.
ماذا تعني exp وiat وnbf؟
هذه هي ادعاءات الطابع الزمني القياسية من RFC 7519: يشير iat إلى وقت إصدار الرمز، وnbf إلى أقرب لحظة يصبح فيها صالحًا، وexp إلى متى يتوقف عن كونه كذلك. تُخزَّن الثلاثة كـ NumericDate - عدد الثواني منذ بداية حقبة يونكس - وتحوّلها هذه الأداة إلى تاريخ قابل للقراءة ووقت نسبي مثل "تنتهي صلاحيته خلال ساعتين".
لماذا يمكنني قراءة الحمولة دون سر؟
لأن ترويسة JWT وحمولته مشفّرتان فقط بـ base64url، وليستا مشفّرتين تشفيرًا حقيقيًا - الترميز ليس سرّية. أي شخص لديه الرمز يمكنه بالفعل قراءة ادعاءاته؛ التوقيع يثبت فقط أن الادعاءات لم يتم العبث بها من قِبل شخص لا يملك المفتاح. لا تضع أبدًا أي شيء لا تريد أن يقرأه مهاجم مباشرةً داخل حمولة JWT.
رمزي يحتوي على 3 أجزاء لكنه لا يزال لا يُفك تشفيره - لماذا؟
يجب أن يكون كل جزء من الأجزاء الثلاثة (الترويسة والحمولة والتوقيع) نص base64url صالحًا، ويجب أن تُفك الترويسة والحمولة إلى JSON صالح. تفك هذه الأداة تشفير الترويسة والحمولة بشكل مستقل وتخبرك بالضبط أيهما معطوب ولماذا (base64 سيئ، أو UTF-8 سيئ، أو JSON غير صالح)، بدلًا من الفشل بصمت.
للمطورين: افتح هذه الصفحة مع معلمة `token` في الرابط - مثل gizke.com/jwt?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - وسيتم تعبئة هذا الرمز تلقائيًا. لن يحتاج معظم الزوار إلى هذا؛ فهو مخصص للربط المباشر بمثال جاهز للاستخدام.

شارك هذه الأداة

المدونةمن نحناتصل بناشروط الاستخدامسياسة الخصوصية