← جميع الأدوات

ترميز وفكّ ترميز Base64

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

ما هو Base64 ولماذا وُجد

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

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

تدفق مجرد متوهج من البيانات الثنائية يتحول إلى تدفق من الأحرف النصية بلون نيلي داكن مع ضوء سماوي وذهبي
يعيد Base64 تشكيل البايتات الخام إلى تدفق أحرف آمن وملائم للنص.

كيف تعمل عملية التحويل

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

هذه النسبة أربعة مقابل ثلاثة هي أيضًا مصدر عقوبة الحجم الشهيرة: فمُخرج Base64 أكبر بنحو 33% من البيانات الأصلية. وإن جرى لفّ النص المُرمَّز إلى أسطر ثابتة العرض، كما تتطلب معايير البريد الإلكتروني غالبًا، فإنك تدفع نسبة قليلة إضافية فوق ذلك مقابل فواصل الأسطر. وهذا العبء هو ثمن التوافق، وهو في معظم الاستخدامات مقايضة عادلة.

أين تصادف Base64

ما إن تعرف ما تبحث عنه، يظهر Base64 في كل مكان في الحوسبة اليومية:

  • معرّفات URI للبيانات. يمكن تضمين صورة صغيرة أو خط مباشرة في HTML أو CSS عبر معرّف data: URI، بكتابة محتويات الملف بصيغة Base64. ويفك المتصفح ترميزها ضمنيًا، موفّرًا طلب شبكة منفصلًا.
  • مرفقات البريد الإلكتروني. يعتمد MIME، وهو المعيار الذي يتيح للبريد الإلكتروني حمل الملفات، على Base64 لنقل المرفقات الثنائية عبر نظام بريد نصي فقط دون تلف.
  • مصادقة HTTP الأساسية. الترويسة المألوفة Authorization: Basic ... ليست سوى اسم مستخدم وكلمة مرور موصولين بنقطتين رأسيتين ومُرمَّزين بـ Base64 - وهذا تحديدًا سبب وجوب تشغيل المصادقة الأساسية دائمًا فوق HTTPS.
  • الرموز والإعدادات. تُخزَّن رموز JSON Web Tokens والشهادات ومفاتيح SSH وقيم إعداد لا حصر لها أو تُنقَل بصيغة Base64 كي تنجو من النسخ واللصق والتخزين القائم على النص.

الترميز ليس تشفيرًا

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

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

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

الترميز مقابل فك الترميز

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

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

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

هل Base64 شكل من أشكال التشفير؟

لا. Base64 ترميز وليس تشفيرًا. فهو لا يستخدم مفتاحًا وقابل للعكس بالكامل من قِبل أي شخص، لذا لا يوفر أي أمان. استخدم تشفيرًا حقيقيًا مثل AES أو RSA لحماية البيانات الحساسة.

لماذا يجعل Base64 البيانات أكبر؟

يحوّل Base64 كل ثلاثة بايتات من المُدخل إلى أربعة أحرف مُخرَجة، ما يضيف نحو 33 بالمئة إلى الحجم. وإن قُسِّم المُخرج إلى أسطر ثابتة الطول، تضيف فواصل الأسطر نسبة قليلة أخرى فوق ذلك.

ما الأحرف التي يستخدمها Base64؟

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

هل يمكنني تخزين كلمات المرور بأمان بصيغة Base64؟

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

هل أداة Base64 هذه خاصة؟

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

ما الفرق بين الترميز وفك الترميز؟

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