ما هو ترميز Base64؟
Base64 طريقة لتمثيل البيانات الثنائية — الصور والملفات وأي بايتات خام — باستخدام 64 محرفاً نصّياً آمناً فقط: A–Z وa–z و0–9 إضافةً إلى + و/. وهو ليس تشفيراً ولا يوفّر أي حماية. غرضه الوحيد أن تنتقل البيانات الثنائية بأمان عبر أنظمة صُمّمت للتعامل مع النص فقط، مثل البريد وJSON وHTML والروابط.
يمكنك التحويل فوراً عبر أداة ترميز وفكّ Base64 المجانية.
لماذا وُجد Base64؟
صُمّمت كثير من بروتوكولات الإنترنت القديمة للنص ذي 7 بِتات. وعند تمرير بايتات ثنائية خام عبرها، تتعرّض قيم معيّنة للتلف أو الحذف. يحلّ Base64 ذلك بترجمة كل 3 بايتات إلى 4 محارف نصّية آمنة. يكبر حجم البيانات نحو 33% لكنها تصل سليمة.
كيف يعمل Base64 خطوة بخطوة
- يُقرأ الإدخال كسلسلة من البايتات بطول 8 بِتات.
- تُجمَّع البِتات في مقاطع من 6 بِتات بدل 8.
- كل مقطع 6-بِتات قيمته بين 0 و63 يقابل محرفاً واحداً من أبجدية Base64.
- إن لم يكن طول الإدخال من مضاعفات 3، تُضاف علامات
=للحشو.
مثلاً كلمة "Hi" تصبح "SGk="؛ وعلامة = تخبر فاكّ الترميز بوجود حشو.
أين ترى Base64 يومياً
| السياق | كيف يُستخدم Base64 |
|---|---|
| مرفقات البريد | معيار MIME يرمّز الملفات داخل جسم الرسالة |
| صور مضمّنة في CSS/HTML | data:image/png;base64,... |
| رموز JWT | تُرمَّز الترويسة والحمولة بصيغة Base64URL |
| مصادقة HTTP الأساسية | تُرمَّز "المستخدم:كلمة المرور" بـ Base64 |
تحذير حيوي: Base64 ليس تشفيراً
هذه أهمّ نقطة. يستطيع أي شخص فكّ Base64 في ثانية — بما في ذلك بالأداة الموجودة هنا. إنه لا يُخفي شيئاً. لا تستخدمه أبداً "لحماية" كلمات المرور أو الرموز أو البيانات الخاصة. للحماية الحقيقية تحتاج تشفيراً (AES, RSA) أو تجزئة (bcrypt, Argon2)، وهي مفاهيم مختلفة تماماً.
Base64 مقابل Base64URL
يستخدم Base64 القياسي + و/، ولهما معنى خاص داخل الروابط. أما نسخة Base64URL فتستبدلهما بـ - و_ وغالباً تحذف الحشو، فيصبح الناتج آمناً داخل عنوان ويب أو رمز JWT. واختلاف النسختين سبب شائع لأخطاء فكّ الترميز.
الخلاصة
Base64 صيغة نقل لا أداة أمان. وُجد لنقل البيانات الثنائية بأمان عبر قنوات نصّية، يزيد الحجم نحو الثلث، وقابل للعكس من أي شخص. استخدمه للتضمين والنقل والتوافق — لا للسرّية أبداً.
مرجع تقني
يحدد RFC 4648 أبجديات Base64 وقواعد الحشو والتمثيل القياسي. راجعه عند بناء تكامل يحتاج توافقًا دقيقًا بين الأنظمة.