الجواب المختصر
لا. Base64 ترميز: طريقة لكتابة أي بيانات بأربعة وستين حرفا مأمونا فقط، لتنجو في عبورها أنظمة بنيت للنص الصرف. لا مفتاح له ولا سر فيه ولا خاصية أمان من أي نوع. فكه لا يتطلب إلا التعرف عليه، لا غير — نظرة من إنسان، وجزء من الثانية من حاسوب.
ومع ذلك يستحق السؤال طرحه، لأن الخلط شائع في كل مكان ومكلف أحيانا. سلسلة Base64 تبدو مبعثرة — cGFzc3dvcmQ= لا تقول للعين شيئا — وما يبدو مبعثرا يحفظ في درج «الآمن». وقد شحنت منتجات حقيقية بكلمات مرور «محمية» على هذا النحو. والدواء تمييز يتعلم مرة واحدة: الترميز للآلات، والتشفير للأسرار، والتجزئة للبصمات. ثلاث مهام، ثلاث أدوات، وواحدة منها فقط تحمي شيئا.
الترميز: يفكه الجميع
الترميز يغير طريقة كتابة البيانات، لا ما تقوله أبدا. مرفقات البريد، والصور المضمنة في أوراق الأنماط، والرموز في العناوين — في كل تلك المواضع تحتاج بايتات كيفما اتفق إلى عبور قنوات لا تنقل بأمانة إلا النص، وBase64 هو الزي المعتمد: ثلاثة بايتات تدخل، أربعة أحرف تخرج، من حروف وأرقام وعلامتين، مع = يحشو الآخر. علامة = الختامية تلك هي الأمارة، ومتى عرفتها رأيت Base64 في كل مكان.
الخاصية التي تحسم كل شيء: الوصفة علنية وتجري بالعكس سواء بسواء. لا شيء يعرف، فلا شيء يجهل. ترميز النسبة المئوية في العناوين (%20 للفراغ)، وكيانات HTML مثل (&)، والست عشري، وهروبات الشرطة المائلة العكسية، كلها الفكرة نفسها في ثياب أخرى، ومرمز Base64 ومفككه هنا يتكلمها جميعا، في الاتجاهين، على جهازك. فك سلسلة وجدتها مشروع تماما كمشروعية قراءتها، لأن الترميز لم يكن قفلا يوما.
التشفير: يفكه صاحب المفتاح
التشفير هو الذي يحمي المحتوى حقا. يحول البيانات بواسطة مفتاح، والرياضيات مرتبة بحيث يكون عكس التحويل من دون المفتاح ليس عسيرا فحسب بل خارج متناول الحساب — ومع المفتاح فوري. السرية تسكن المفتاح كله، لا الطريقة: فالخوارزميات منشورة ومقيسة، وهي أقوى لهذا بالذات.
هنا يعض الالتباس البصري، لأن البايتات المشفرة ترمز عادة بواسطة Base64 لتستطيع السفر — بعثرها مفتاح أولا، ثم ألبست زي النقل. طبقتان، مهمتان. ورمز JWT هو مثال الكتب: ثلاث قطع Base64 يصلها نقطتان، أولاها وثانيتها تفكان إلى JSON مقروء لكل من جرب. يلصق الناس رموزهم في مفككات ويب عامة كل يوم، وقد افترضوا أن الكل مختوم؛ والوصف الأمين أن JWT بطاقة بريدية بتوقيع لا يزور، لا ظرف مغلق.
التجزئة: لا يفكها أحد
التجزئة تجري في اتجاه واحد. مرر أي قدر من البيانات عبر SHA-256 يخرج لك رقم ثابت الحجم — الرقم نفسه كل مرة للبيانات نفسها، ورقم مختلف كليا لبيانات تفترق ببت واحد، ولا طريق من الرقم إلى البيانات لأحد، بمفتاح أو بغيره. ليست زيا ولا قفلا؛ إنها بصمة.
وهذا ما يجعلها الأداة الصحيحة للمهمتين اللتين تخصانها. التثبت من أن الملف المنزل هو بالضبط ما نشره ناشره — قارن البصمتين، وهو ما تفعله أداة حساب قيمة التجزئة على جهازك، ولها دليلها. وحفظ كلمات المرور: الخدمة الحسنة الإدارة لا تحفظ إلا تجزئة كلمتك، حتى إن قاعدة بياناتها المسروقة نفسها لا تحوي كلمة المرور. حين يستطيع موقع أن يرسل إليك بالبريد كلمتك المنسية فقد أخبرك أنه لم يجزئها قط — وحين «يؤمن» ملف إعدادات كلمته بكتابتها cGFzc3dvcmQ= فقد أخبرك أنه لم يزد على ترميزها.
تمييزها في الميدان
طريق مختصر نافع للسلسلة التي أمامك:
- تفك إلى شيء مقروء؟ إذن كانت ترميزا. حروف وأرقام، وربما
+و/، وغالبا=في الآخر — مررها في مفكك وانظر. - تفك إلى ضجيج ثنائي؟ إذن لم يكن Base64 إلا الزي، وما تحته مشفر أو مضغوط أو لم يكن نصا أصلا — والترميز لا يخبرك بشيء في الحالين.
- طول ثابت، أحرف ست عشرية، لا تفك أبدا؟ أربعة وستون حرفا ست عشريا هي هيئة SHA-256؛ واثنان وثلاثون هيئة MD5. التجزئات لا تفك؛ إنما تتطابق أو لا تتطابق.
والعبرة العملية من كل واحدة: لا تأتمن ترميزا على سر أبدا؛ ولا تبن تشفيرك بيدك ومنصتك تجيء به جاهزا؛ ولا تخزن كلمة مرور إلا مجزأة. والسلسلة التي تفكها لتتحقق قد تكون هي نفسها الجزء الحساس — الرمز قيد التتبع كذلك غالبا — ولهذا يعمل المفكك هنا حيث يوجد السر أصلا، على جهازك، ولهذا كان لما يفعله اللصق في أداة ويب حقا صفحة خاصة به.