تحويل Base64 إلى JSON: كيف تفك ترميز بيانات الكوكيز والجلسة بأمان

Digital Account Market

· آخر تحديث:

بين يديك سلسلة طويلة غير مقروءة من الحروف والأرقام يُفترض أنها تحمل بيانات كوكيز أو جلسة، وتحتاج إلى تحويل Base64 إلى JSON لتقرأها فعلاً. ربما سلّمها لك بائع، أو إضافة متصفح، أو لوحة استيراد، وتريد الاطلاع على حقولها قبل أن تمررها إلى أداة أخرى.

يشرح هذا الدليل كيف تتعرف على سلسلة Base64، وكيف تفك ترميزها إلى JSON منسّق بأداة مجانية، وكيف تعالج الأخطاء الشائعة، وكيف تعيد ترميز JSON إلى Base64 حين تطلب لوحة ما هذه الصيغة. كما يوضح كيف تحافظ على خصوصية البيانات بعد فك ترميزها، لأن قيم الكوكيز والرموز المميزة (tokens) حساسة.

ما هو Base64 ولماذا تُغلَّف به الكوكيز والرموز المميزة

يكتب Base64 أي بيانات، حتى النصوص التي تحوي علامات اقتباس وأقواساً معقوصة وحروفاً عربية، باستخدام 64 رمزاً آمناً فقط: الحروف من A إلى Z ومن a إلى z، والأرقام من 0 إلى 9، إضافة إلى الرمزين + و /. وبذلك تستطيع الأنظمة التي لا تتعامل جيداً مع علامات الترقيم الخام أو فواصل الأسطر نقل البيانات، لأن Base64 يحوّل كل شيء إلى نص عادي سهل النسخ.

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

والأهم أن Base64 ترميز وليس تشفيراً. لا توجد كلمة مرور ولا مفتاح، ويستطيع كل من يملك السلسلة إعادتها إلى النص الأصلي. لذا تعامل مع السلسلة كما لو كانت البيانات نفسها.

كيف تتعرف على سلسلة Base64

قبل أن تفك ترميز أي شيء، تأكد من أنه Base64 فعلاً. وغالباً تكفي ثلاثة فحوص سريعة.

مجموعة الرموز

تحتوي سلسلة Base64 القياسية على حروف وأرقام والرمزين + و / فقط. إذا رأيت نقطتين رأسيتين أو مسافات بين الكلمات أو علامة @ فالأرجح أنها صيغة أخرى. أسطر التسليم مثل username:password:email:email_password:auth_token نص مفصول بنقطتين رأسيتين وليست Base64، ولن يخرج أي مفكّك ترميز بمعنى منها.

الحشو (Padding)

يعمل Base64 على مجموعات من أربعة رموز. وإذا لم تملأ البيانات المجموعة الأخيرة أُضيفت علامة مساواة أو علامتان كحشو. السلسلة التي تنتهي بـ = أو == مؤشر قوي، لكن السلاسل التي لا تنتهي بعلامة مساواة تكون صحيحة أيضاً إذا جاء طولها مناسباً، وبعض الأدوات تحذف الحشو عمداً.

البداية الدالّة

يبدأ كائن JSON بقوس معقوص وعلامة اقتباس، ويُرمَّز هذا الزوج دائماً بالطريقة نفسها. السلسلة التي تبدأ بـ eyJ هي في الغالب كائن JSON، أما W3si فتدل عادة على قائمة كائنات، وWyJ على قائمة قيم نصية. فإذا بدأت سلسلتك هكذا، فمن المفترض أن يعطيك فك الترميز JSON.

لست متأكداً؟ الصق عينة في أداة تحديد الصيغة. تفحص الأداة مجموعة الرموز والحشو والطول، وتخبرك إن كان النص يشبه Base64 أو JSON أو شيئاً آخر.

من Base64 إلى JSON: فك الترميز بالأداة المجانية

تنجز أداة Base64 إلى JSON العمل كله داخل متصفحك دون رفع أي شيء، فتبقى السلسلة على جهازك.

  • الصق سلسلة Base64 في مربع الإدخال. استخدم زر المثال أولاً إن أردت أن ترى شكل النتيجة الصحيحة.
  • تظهر النتيجة فوراً. فإذا كان النص بعد فك الترميز JSON صالحاً، يُعرض منسّقاً بمسافتين بادئتين، فيسهل تصفح الحقول المتداخلة.
  • اقرأ البنية، ثم استخدم زر النسخ لأخذ JSON معك.

تزيل الأداة المسافات وفواصل الأسطر قبل فك الترميز وتقرأ البايتات بترميز UTF-8، فتظهر الحروف العربية والحروف المشكّلة بصورة صحيحة بدل رموز مشوّهة. وللتجربة الصق eyJ1c2VyIjoiaGVzYXAxIiwidG9rZW4iOiJhYmMxMjMifQ== وستحصل على كائن فيه الحقل user والحقل token.

وإذا كان النص بعد فك الترميز مقروءاً لكنه ليس JSON، فإن الأداة تعرضه كنص عادي بدل أن تتجاهل النتيجة. وهذا شائع مع الرمز المميز المنفرد، ويُعد فك ترميز ناجحاً أيضاً.

إصلاح أخطاء فك الترميز: الحشو وفواصل الأسطر ونسخة URL-safe

حين يفشل فك الترميز يكون السبب في الغالب واحداً مما يلي.

حشو ناقص

إما قُطعت السلسلة أو حُذفت علامات المساواة منها. قارن eyJpZCI6MX0= مع eyJpZCI6MTIzfQ==: الأولى تحتاج علامة مساواة واحدة والثانية علامتين. أضف = حتى يصبح الطول من مضاعفات الأربعة. والاستثناء هو السلسلة التي يبقى من قسمة طولها على أربعة باقٍ يساوي واحداً: لا يصلحها أي حشو لأن رموزاً فُقدت أثناء النسخ، وعليك نسخ الأصل من جديد.

فواصل الأسطر والمسافات الزائدة

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

نسخة URL-safe

السلاسل المصممة لعناوين الويب تستبدل الرمز + بالرمز - والرمز / بالرمز _ لتبقى سليمة داخل الرابط، والمفكّك القياسي يرفض هذين الرمزين. استبدل كل - بـ + وكل _ بـ /، وأعد الحشو، ثم فك الترميز من جديد.

أسطر حسابات لُصقت بالخطأ

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

من JSON إلى Base64: أعد الترميز للأدوات التي تطلبه

بعض اللوحات وأدوات الاستيراد تريد بيانات الجلسة بصيغة Base64 بدل JSON الخام. وهذا الاتجاه تتولاه أداة JSON إلى Base64. الصق JSON، واختر مخرجاً مضغوطاً في سطر واحد أو منسقاً مقروءاً بمسافات بادئة، ثم انسخ النتيجة. والوضع المضغوط هو الخيار الافتراضي الأفضل لمعظم عمليات الاستيراد لأنه يعطي أقصر سلسلة.

تتحقق الأداة من JSON أولاً، فيُكشف الفاصل الناقص أو القوس غير المغلق قبل أن ترمّز بيانات تالفة. ويعتمد الترميز UTF-8، ما يجعل الذهاب والإياب موثوقاً: فك ترميز سلسلة، وغيّر حقلاً واحداً، ثم رمّزها مجدداً، وستعود كل الحقول الأخرى كما كانت تماماً.

وإذا كانت الكوكيز عندك في ملف نصي بصيغة Netscape فحوّلها بواسطة أداة كوكيز Netscape واتبع دليلنا حول تحويل كوكيز Netscape إلى JSON. أما إذا كنت تعمل برمز auth_token فاطلع على تسجيل الدخول إلى Twitter برمز auth_token.

تعامل مع البيانات بعد فك ترميزها بخصوصية

قد تحتوي بيانات الكوكيز والجلسة بعد فك ترميزها على رموز تعمل كمفتاح لحساب، لذا من المفيد اتباع بعض العادات.

  • اعمل محلياً. الأداة المعتمدة على المتصفح والتي لا ترفع مدخلاتك أنسب من أي موقع عشوائي يرسل نصك إلى خادم لا تستطيع فحصه.
  • لا تلصق القيم بعد فك ترميزها في محادثات عامة أو تذاكر دعم أو لقطات شاشة. وعند طلب المساعدة شارك أسماء الحقول فقط.
  • احتفظ بالسلسلة الأصلية دون تعديل، وفك ترميز نسخة منها، واحذف ملفات العمل عند الانتهاء.

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

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

كيف أعرف أن السلسلة بصيغة Base64؟

تحقق من ثلاثة أمور: أنها لا تحوي سوى حروف وأرقام والرمزين + و /، وأن طولها يناسب مجموعات من أربعة رموز مع حشو = اختياري، وأنها تبدأ غالباً بـ eyJ إذا كانت تحمل كائن JSON. وتؤتمت أداة تحديد الصيغة هذا الفحص.

لماذا يتحول Base64 عندي إلى رموز غير مقروءة بعد فك الترميز؟

إما أن البيانات لم تكن نصاً أصلاً، كأن تكون صورة أو محتوى مضغوطاً، أو أنها استخدمت ترميز أحرف مختلفاً. كما تظهر رموز مشوشة حين تكون السلسلة بنسخة URL-safe ولم تُحوَّل أولاً.

ماذا تعني علامة المساواة في النهاية؟

إنها حشو. يرمّز Base64 في كتل من أربعة رموز، وتملأ علامة مساواة أو علامتان الكتلة الأخيرة حين تقل البيانات. وهي لا تحمل أي معلومات بذاتها.

هل Base64 نوع من التشفير؟

لا. يغيّر Base64 طريقة كتابة البيانات فقط، ويستطيع أي شخص عكسه دون مفتاح. احمِ سلسلة Base64 كما تحمي البيانات المقروءة نفسها.

كيف أحوّل JSON إلى Base64 من جديد؟

الصق JSON في أداة JSON إلى Base64، واختر المخرج المضغوط أو المنسّق بمسافات بادئة، ثم انسخ النتيجة. وتنبّهك الأداة إلى JSON غير الصالح قبل الترميز.

الأدوات

الفئات الشائعة

الدعمالقناة