فك تشفير Base64
فك تشفير سلاسل مشفرة بـ Base64 إلى نصها الأصلي أو تمثيلها الثنائي. يدعم كل من الأبجديات القياسية RFC 4648 وBase64 الآمن للروابط، بما في ذلك رموز JWT.
سلاسل Base64 غير شفافة عن قصد - SGVsbG8sIFdvcmxkIQ== لا تعني شيئاً حتى يتم فك تشفيرها إلى Hello, World!. تم تعريفها في RFC 4648، تقوم Base64 بترميز كل 3 بايت إدخال كـ 4 أحرف مخرجات، مضيفة حوالي 33% من الحمل الزائد. تقوم أداة فك التشفير هذه بعكس ذلك باستخدام واجهات برمجة التطبيقات الأصلية atob() وTextDecoder في المتصفح. تدعم كل من Base64 القياسية والمتغير الآمن للروابط (- و_ بدلاً من + و/) المستخدمة في رموز JWT ورموز OAuth. لا يتم تحميل أي شيء إلى أي خادم.
كيفية فك تشفير Base64
- الصق سلسلتك المشفرة بـ Base64 في حقل الإدخال.
- اختر وضع القياسي أو الآمن للروابط ليتناسب مع كيفية تشفير البيانات الأصلية.
- يظهر النص المفكوك على الفور في لوحة المخرجات.
- انقر على نسخ لنسخ النتيجة.
كيف يعمل فك تشفير Base64
عملية فك التشفير
يعكس فك التشفير التشفير تماماً. يتم إعادة تعيين كل حرف من Base64 إلى قيمته البتية 6 باستخدام جدول الأبجدية. أربعة أحرف متتالية (24 بت) تعيد بناء ثلاثة بايت. تتعامل دالة atob() في المتصفح مع Base64 القياسي بشكل أصلي. بالنسبة لـ Base64 الآمن للروابط، يتم تحويل - و_ مرة أخرى إلى + و/ قبل فك التشفير. يتم بعد ذلك فك تشفير تسلسل بايت UTF-8 إلى سلسلة Unicode باستخدام TextDecoder.
التعامل مع الحشو المفقود
يتطلب Base64 القياسي إضافة = لجعل طول السلسلة مضاعفاً لـ 4. تقوم رموز JWT وOAuth بإزالة الحشو لتقليل الحجم. تحسب أداة فك التشفير هذه تلقائياً وتضيف الحشو المطلوب بناءً على طول السلسلة. إذا كان طول السلسلة mod 4 يساوي 2، فهناك حاجة إلى = واحدة؛ إذا كان 3، فهناك حاجة إلى حرفين =.
مثال
الإدخال (Base64 القياسي)
SGVsbG8sIFdvcmxkIQ==
المخرج
Hello, World!
حالات الاستخدام الشائعة
- فحص رمز JWT - فك تشفير أقسام الرأس والحمولة لقراءة المطالبات بدون مكتبة
- مصادقة HTTP الأساسية - فك تشفير رؤوس
Authorization: Basic dXNlcjpwYXNzللتحقق من بيانات الاعتماد المضمنة - فحص URI البيانات - فك تشفير الجزء المشفر بـ Base64 من
data:image/png;base64,...URIs - تصحيح استجابة API - تقوم بعض واجهات برمجة التطبيقات بترميز المحتوى الثنائي بـ Base64 في استجابات JSON
أفضل الممارسات
- اختر الوضع الصحيح (القياسي مقابل الآمن للروابط) - استخدام الوضع الخاطئ ينتج عنه مخرجات مشوشة
- بالنسبة لرموز JWT، فك تشفير فقط الرأس (الجزء الأول) والحمولة (الجزء الثاني)؛ الجزء الثالث هو توقيع تشفيري، وليس نصاً مشفراً
- إذا كانت المخرجات أحرف غير قابلة للقراءة، كانت البيانات المصدر ثنائية (صورة، PDF، إلخ)، وليست نصاً
- فك تشفير Base64 ليس فحص أمان - يمكن لأي شخص فك تشفيره
لترميز النص مرة أخرى إلى Base64، استخدم ترميز Base64. لبيانات مشفرة بـ URL، استخدم فك تشفير URL. لفحص JWT بالكامل، فك تشفير الجزئين الأولين المفصولين بالنقاط بشكل منفصل مع اختيار وضع الآمن للروابط.
الأسئلة الشائعة
كيف يمكنني فك تشفير رمز JWT باستخدام هذه الأداة؟
يتكون JWT من ثلاثة أجزاء مفصولة بنقاط: header.payload.signature. انسخ الرأس (الجزء الأول) أو الحمولة (الجزء الثاني)، اختر وضع الآمن للروابط، والصقه في أداة فك التشفير. الناتج هو كائن JSON مع الخوارزمية (الرأس) أو المطالبات (الحمولة). لا تقم بفك تشفير التوقيع - فهو تجزئة تشفيرية، وليس سلسلة JSON مشفرة بـ Base64.
لماذا تظهر مخرجاتي المفككة أحرف غريبة؟
هذا يعني أحد ثلاثة أشياء: (1) كانت البيانات الأصلية ثنائية (صورة، PDF، zip) بدلاً من نص؛ (2) اخترت الوضع الخاطئ - حاول التبديل بين القياسي والآمن للروابط؛ (3) كانت النصوص الأصلية مشفرة باستخدام مجموعة أحرف غير UTF-8. حاول التبديل بين الأوضاع أولاً. إذا كان الناتج لا يزال غير قابل للقراءة، فمن المحتمل أن البيانات المصدر كانت ثنائية.
هل أحتاج إلى أحرف الحشو (==) لكي يعمل فك التشفير؟
يتطلب Base64 القياسي إضافة حشو لجعل طول السلسلة مضاعفاً لـ 4. تضيف أداة فك التشفير هذه الحشو المفقود تلقائياً، وهو أمر مهم لرموز JWT وOAuth التي تزيل أحرف = الزائدة. الصق السلسلة كما هي وستتعامل أداة فك التشفير مع الحشو تلقائياً.
هل بياناتي الحساسة آمنة عند فك التشفير هنا؟
نعم. يتم تشغيل فك التشفير بالكامل في متصفحك باستخدام واجهات برمجة التطبيقات atob() وTextDecoder الأصلية. الرموز، بيانات الاعتماد، والبيانات الخاصة التي تلصقها لا تُرسل أبداً إلى أي خادم، ولا تُسجل، ولا تُخزن. افتح علامة تبويب الشبكة في المتصفح أثناء فك التشفير وسترى صفر طلبات صادرة.
ما الفرق بين Base64 القياسي وBase64 الآمن للروابط؟
يستخدم Base64 القياسي (RFC 4648 §4) + و/. يستبدل Base64 الآمن للروابط (RFC 4648 §5) تلك بـ - و لتجنب التعارضات في الروابط، أسماء الملفات، ورؤوس HTTP. تستخدم رموز JWT، رموز OAuth، ومحققو رموز PKCE جميعاً Base64 الآمن للروابط. إذا كانت سلسلتك تحتوي على - أو ، اختر وضع الآمن للروابط.