ما هو تشفير Base64؟ شرح كامل
إجابة سريعة
Base64 يحول 3 بايت إلى 4 أحرف ASCII (33% تضخم). يستخدم A-Z a-z 0-9 + / و= للحشو. ليس تشفيراً. استخدم أداة Base64 المجانية للتشفير وفك التشفير في متصفحك.
مقدمة
Base64 هو نظام ترميز يحول البيانات الثنائية إلى 64 حرفاً ASCII (A-Z وa-z و0-9 و+ و/). كل 3 بايت تصبح 4 أحرف، مع = للحشو. اخترع لـ MIME لنقل الثنائي عبر البريد الإلكتروني النصي. ليس تشفيراً — أي شخص يمكنه فك ترميزه.
خطوة بخطوة
-
فهم مجموعة الأحرف
يستخدم Base64 64 حرفًا: A-Z (26)، a-z (26)، 0-9 (10)، + و / (2). يتم استخدام الحرف = للحشو عندما لا يكون طول الإدخال من مضاعفات 3. يستبدل المتغير URL-safe + بـ - و / بـ _ ويحذف الحشو.
-
تعرف على كيفية عمل التشفير
يعالج Base64 الإدخال في كتل مكونة من 3 بايت (24 بت). يتم تقسيم كل كتلة 24 بت إلى أربع مجموعات 6 بت. يتم تعيين كل قيمة 6 بت (0-63) إلى أحد الأحرف الـ 64. إذا لم يكن الإدخال من مضاعفات 3، تتم إضافة الحشو (=): إدخال بايت واحد → 2 Base64 حرف + ==، 2 بايت → 3 حرف + =.
-
فهم حجم النفقات العامة
Base64 يزيد حجم البيانات بنسبة 33% تقريبًا — كل 3 بايت تصبح 4 أحرف. يصبح الملف الذي يبلغ حجمه 1 ميغابايت ~1.33 ميغابايت عندما يتم ترميزه بـ Base64. هذا الحمل هو المفاضلة من أجل توافق النص فقط.
-
التمييز بين التشفير والتشفير
Base64 هو تشفير وليس تشفير. إنه قابل للعكس بدون مفتاح - يمكن لأي شخص فك تشفيره. Base64 لا يوفر أي سرية؛ يقوم فقط بتحويل الملف الثنائي إلى نص للنقل. لا تستخدم أبدًا Base64 لتخزين كلمات المرور أو الأسرار.
أمثلة
تشفير النص
مدخل: Hello, World!
الإخراج: SGVsbG8sIFdvcmxkIQ==
تشفير البيانات الثنائية (تظهر بالشكل الست عشري)
مدخل: البايتات: 0x00 0x01 0x02
الإخراج: AAEC
URL-آمن Base64 (أسلوب JWT)
مدخل: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)
الإخراج: يُستخدم في الرموز المميزة JWT والمعلمات URL
المشاكل الشائعة
- التعامل مع Base64 كتشفير —Base64 يمكن عكسه بدون مفتاح. يمكن لأي شخص فك تشفيرها. لا تستخدمه أبدًا لحماية البيانات الحساسة.
- أحرف غير ASCII - يتم طرح btoa() الساذجة على Unicode. استخدم TextEncoder + btoa(unescape(encodeURIComponent(text))) أو أداة مدركة لـ UTF-8.
- إزالة الحشو - تعد الحشوة = جزءًا من الترميز. تؤدي إزالته إلى كسر فك التشفير (على الرغم من أن بعض أجهزة فك التشفير يمكنها إعادة بنائه).
- الحجم الزائد —Base64 يضيف ~33% إلى حجم البيانات. بالنسبة للملفات الكبيرة، يعد هذا أمرًا مهمًا؛ النظر في ما إذا كان الترميز ضروريا.
نصائح
- استخدم Base64 للبيانات URLs لتضمين صور صغيرة في HTML/CSS بدون طلب HTTP منفصل.
- استخدم URL-safe Base64 (استبدل + بـ -، / بـ _، شريط الحشو) للرموز المميزة URLs وJWT.
- Base64 ليس تشفيرًا - استخدمه للتوافق مع النقل، وليس للسرية.
- استخدم برنامج التشفير ووحدة فك التشفير Base64 الخاص بنا للتحويل الفوري والخاص في متصفحك.