Advertisement
Advertisement

Base64 Encoder/Decoder

Convert text to/from Base64 encoding

حول محرر/فك تشفير Base64

ترميز Base64 هو طريقة موحدة لتحويل البيانات الثنائية إلى تنسيق نصي يمكن نقله بأمان عبر الإنترنت أو تخزينه في الأنظمة النصية. يستخدم مجموعة من 64 حرفاً ASCII قابلاً للطباعة (A-Z, a-z, 0-9, +, /) لتمثيل البيانات الثنائية، مما يجعلها متوافقة مع الأنظمة التي تدعم النصوص فقط.

يعمل Base64 بأخذ البيانات الثنائية وتحويلها إلى مجموعات من 6 بتات، ثم تعيين كل مجموعة إلى أحد الأحرف الـ 64 الأساسية. تؤدي هذه العملية إلى توسيع حجم البيانات بحوالي 33٪، لكنها تضمن أن البيانات المشفرة يمكن نقلها بأمان عبر أنظمة البريد الإلكتروني وواجهات برمجية التطبيقات والبروتوكولات النصية دون تلف.

فك تشفير Base64 هو العملية العكسية: تحويل النص المشفر بـ Base64 إلى البيانات الثنائية الأصلية. يتم استخدام علامة المساواة (=) كحشوة في نهاية السلاسل المشفرة للتأكد من أن طول البيانات هو مضاعف من 4 أحرف، وهو مطلوب بموجب معيار Base64.

كيفية عمل ترميز Base64

يعمل ترميز Base64 على مبدأ تمثيل 3 بايتات (24 بت) من البيانات الثنائية كـ 4 أحرف Base64 (24 بت ÷ 6 بتات لكل حرف = 4 أحرف). يتكون جدول الترميز من 64 حرفاً: أحرف كبيرة (A-Z)، أحرف صغيرة (a-z)، أرقام (0-9)، علامة الجمع (+)، وشرطة مائلة للأمام (/).

تتبع عملية الترميز هذه الخطوات:

  • الخطوة 1: خذ البيانات الثنائية في مجموعات من 3 بايتات (24 بت)
  • الخطوة 2: اقسم كل مجموعة 24 بت إلى أربع قطاعات بـ 6 بتات
  • الخطوة 3: حول كل قطاع بـ 6 بتات إلى رقم عشري (0-63)
  • الخطوة 4: عيّن كل رقم عشري إلى حرف Base64 المقابل
  • الخطوة 5: أضف حشوة (=) إذا لم يكن طول الإدخال قابلاً للقسمة على 3

مجموعة أحرف Base64: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63), = (الحشوة)

حالات الاستخدام

1. مرفقات البريد الإلكتروني و MIME
  • ترميز الملفات الثنائية (الصور والمستندات) لنقل البريد الإلكتروني
  • يستخدم MIME (Multipurpose Internet Mail Extensions) Base64 للمرفقات غير النصية
  • مثال: SGVsbG8gV29ybGQ= يمثل "Hello World" في Base64
2. عناوين URL للبيانات والصور المدمجة
  • دمج الصور مباشرة في HTML/CSS بدون طلبات ملفات منفصلة
  • عناوين URL للبيانات: data:image/png;base64, iVBORw0...
  • يقلل من طلبات HTTP ويحسن أداء تحميل الصفحة
  • مفيد للرموز والشعارات الصغيرة والرسومات المضمنة
3. مصادقة واجهة برمجية التطبيقات
  • ترميز مصادقة HTTP الأساسية اسم المستخدم:كلمة المرور في Base64
  • مثال: Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
  • توفر تمرير بيانات الاعتماد الأساسية (ليس تشفيراً - استخدم HTTPS)
4. حمولات JSON وواجهات برمجية التطبيقات
  • ترميز البيانات الثنائية ضمن طلبات/استجابات JSON
  • مفيد للواجهات البرمجية التي تتطلب نقل البيانات النصية فقط
  • تخزين الشهادات والمفاتيح بتنسيقات نصية
5. تخزين قاعدة البيانات
  • تخزين البيانات الثنائية (الصور وملفات PDF والمستندات) كنصوص في قواعد البيانات
  • قواعد البيانات النصية التي لا تدعم حقول BLOB
  • إنشاء نسخ احتياطية محمولة نصية فقط من قاعدة البيانات
6. ملفات التكوين
  • تضمين محتوى ثنائي في ملفات التكوين (XML, JSON, YAML)
  • مفاتيح SSH والشهادات في التكوين النصي
  • إدارة الأسرار في الملفات المراقبة بالإصدار

أنواع محتوى Base64 المشفرة بشكل شائع

مرجع سريع لأنواع البيانات المشفرة بـ Base64 بشكل شائع:

  • SGVsbG8gV29ybGQ= – سلسلة نصية "Hello World"
  • iVBORw0KGgo... – ملف صورة PNG
  • /9j/4AAQSkZ... – ملف صورة JPEG
  • UEsDBBQ... – ملف ZIP أو مستند Office
  • JVBERi0... – ملف PDF
  • MIIBIjANBgkq... – مفتاح RSA عام أو شهادة

التطبيقات العملية

تطوير الويب
  • دمج الصور الصغيرة في HTML لتقليل طلبات الخادم
  • إنشاء ملفات HTML مكتفية ذاتياً مع الأصول المدمجة
  • تمرير البيانات الثنائية عبر معاملات استعلام URL
  • ترميز تحميلات الملفات للنقل عبر البروتوكولات النصية فقط
تكامل واجهة برمجية التطبيقات
  • إرسال واستقبال البيانات الثنائية عبر واجهات برمجية تطبيقات REST
  • بيانات اعتماد مصادقة HTTP الأساسية
  • ترميز الملفات لتقديمات النماذج متعددة الأجزاء
  • إدارة رموز OAuth والجلسات
أنظمة البريد الإلكتروني
  • ترميز المرفقات في رسائل البريد الإلكتروني (تنسيق MIME)
  • نقل الملفات الثنائية عبر البريد الإلكتروني
  • إنشاء رسائل بريد إلكترونية مكتفية ذاتياً مع صور مدمجة
الأمان والتشفير
  • ترميز مفاتيح التشفير والشهادات
  • تخزين ونقل البيانات التشفيرية
  • ملفات تنسيق PEM (الشهادات والمفاتيح) مشفرة بـ Base64
  • ليس التشفير نفسه - للاستخدام في نقل البيانات الثنائية بأمان

الأدوات ذات الصلة

قد تجد هذه الأدوات مفيدة أيضاً:

نصائح

  • Base64 يزيد حجم البيانات بحوالي 33٪ - ادرس المقارنات قبل الترميز
  • استخدم Base64 لنقل النصوص؛ استخدم التنسيقات الثنائية للتخزين عند الإمكان
  • الحشوة (=) في النهاية مطلوبة لفك التشفير الصحيح - لا تزيلها
  • Base64 ليس تشفيراً - استخدم دائماً HTTPS للبيانات الحساسة
  • بالنسبة للملفات الكبيرة، يمنع ترميز/فك تشفير Base64 المتدفق من الإفراط في التحميل على الذاكرة
  • يستبدل Base64 الآمن لعناوين URL الرمز + بـ - و / بـ _ لنقل عناوين URL
  • تحقق من الإخراج المفكك بفحص رؤوس الملفات (الأرقام السحرية) للتحقق من الصحة

متغيرات Base64

  • Base64 قياسي: يستخدم أحرف + و / - ترميز RFC 4648 القياسي
  • Base64 آمن لعناوين URL: يستبدل + بـ - و / بـ _ لنقل عناوين URL
  • Base64url: يُستخدم في رموز JWT، قواعد حشوة معدلة
  • Base64 MIME: محدود بـ 76 حرفاً لكل سطر لتوافق البريد الإلكتروني

المشاكل الشائعة والحلول

  • الحشوة غير صحيحة: يجب أن تكون سلاسل Base64 بطول قابل للقسمة على 4. أضف = حسب الحاجة.
  • أحرف سطر جديد: يتضمن MIME Base64 أسطراً جديدة - أزلها قبل فك تشفير Base64 القياسي
  • التباس مجموعة الأحرف: يستخدم Base64 القياسي +/؛ آمن عناوين URL يستخدم -_. اعرف أي متغير تحتاج
  • ترميز غير مكتمل: تأكد من التقاط السلسلة المشفرة الكاملة - يسبب القطع أخطاء فك التشفير
  • تلف ملف ثنائي: انسخ البيانات المشفرة بدقة - حتى الاختلافات في حرف واحد تسبب تلف البيانات الثنائية
  • مشاكل الذاكرة: قد تسبب الملفات الكبيرة جداً مشاكل في الذاكرة - استخدم ترميزاً متدفقاً أو مقسماً
  • عدم تطابق الترميز: البيانات المشفرة بمجموعات أحرف مختلفة (UTF-8 مقابل ASCII) تنتج Base64 مختلفاً

كيفية التحقق من البيانات المفكوكة

  • البيانات النصية: يجب أن تكون قابلة للقراءة وذات معنى
  • الصور: تحقق من الأرقام السحرية (البايتات الأولى): PNG = 89 50 4E 47, JPEG = FF D8 FF, GIF = 47 49 46
  • ملفات PDF: يجب أن تبدأ بـ %PDF-
  • ملفات ZIP: يجب أن تبدأ بـ PK (hex: 50 4B)
  • JSON/XML: يجب أن تكون صحيحة ومنسقة بشكل صحيح

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

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

س: لماذا Base64 أكبر من البيانات الأصلية؟
ج: يستخدم Base64 6 بتات لكل حرف لتمثيل البيانات، بينما يستخدم الثنائي 8 بتات لكل بايت. هذا ينشئ زيادة بنسبة 33٪. المقابلة هي أن البيانات تصبح آمنة للنصوص وقابلة للنقل عبر الأنظمة النصية فقط.

س: هل يمكنني استخدام Base64 لكلمات المرور؟
ج: لا. Base64 ليس تشفيراً. بالنسبة للكلمات المرور، استخدم خوارزميات تجزئة كلمات المرور (bcrypt, Argon2, PBKDF2). Base64 مناسب فقط لتمثيل البيانات الثنائية كنصوص للنقل.

س: ما الفرق بين Base64 وترميز عناوين URL؟
ج: يشفر Base64 أي بيانات ثنائية كنصوص باستخدام A-Z, a-z, 0-9, +, /. يحول ترميز عناوين URL (ترميز النسبة المئوية) الأحرف الخاصة إلى تنسيق %XX. يُستخدم ترميز عناوين URL لمعاملات عناوين URL؛ Base64 للبيانات الثنائية.

س: كيفية دمج صورة في HTML باستخدام Base64؟
ج: استخدم عنوان URL للبيانات: <img src="data:image/png;base64, iVBORw0...">. هذا يدمج الصورة مباشرة بدون طلب HTTP، لكنه يزيد من حجم ملف HTML.

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

س: ماذا يحدث إذا قمت بتحرير بيانات Base64 المشفرة يدوياً؟
ج: حتى تغيير حرف واحد سيفسد البيانات المفكوكة. إذا كانت البيانات تمثل ملفاً ثنائياً (صورة أو مستند)، فستكون غير قابلة للقراءة. دائماً فك تشفير سلاسل Base64 الكاملة غير المعدلة.

س: هل هناك حد لحجم ترميز Base64؟
ج: تقنياً لا، لكن الحدود العملية تعتمد على ذاكرة نظامك وقوة المعالجة. قد تسبب الملفات الكبيرة جداً (>100 ميجابايت) مشاكل في الأداء. فكر في ترميز مقسم أو متدفق للبيانات الكبيرة.

Advertisement
Advertisement