محوّل Base64 إلى ست عشري

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

تعمل بالكامل داخل متصفحك، ولا يُرفع أي شيء.

طريقة الاستخدام

  1. الصق سلسلة Base64 في حقل المدخلات. يكون الخيار «من» مضبوطًا مسبقًا على Base64، والخيار «إلى» على الست عشري.
  2. اقرأ المخرجات بالنظام الست عشري، إذ يقابل كل بايت رقمين ست عشريين.
  3. إن احتجت إلى صيغة أخرى، فاختر في «إلى» ترميزًا آخر مثل Base58 أو Base32، أو انقر زر «تبديل المدخلات والمخرجات» لتحويل الست عشري إلى Base64 من جديد.
  4. انسخ النتيجة.

طريقتان لكتابة البايتات نفسها

يكتب كلٌّ من النظام الست عشري وBase64 البيانات الثنائية في صورة نص. يستهلك النظام الست عشري حرفين لكل بايت، ما يجعل قراءة قيم البايتات المنفردة ومقارنتها أمرًا سهلًا. أما Base64 فيضغط كل 3 بايتات في 4 أحرف، فيكون أقصر بنحو الثلث. والتحويل بينهما يغيّر طريقة الكتابة فقط، ولا يمس البيانات نفسها:

القيمةالبايتاتالطول بالست عشريالطول بـ Base64
تجزئة MD5163224
تجزئة SHA-1204028
تجزئة SHA-256، مفتاح Ed25519 العام326444
تجزئة SHA-384489664
تجزئة SHA-512، توقيع Ed255196412888

والنظام الست عشري هو أيضًا ما تعرضه محررات الست عشري ومحللات حزم الشبكة ومنقحات الأخطاء، لذا يتيح لك تحويل Base64 إلى ست عشري مطابقة البيانات مع ما تعرضه هذه الأدوات.

متى تحتاج إلى تحويل Base64 إلى ست عشري

  • مقارنة قيم التجزئة. تطبع أدوات مثل sha256sum النتيجة بالنظام الست عشري، في حين تستخدم سمات سلامة الموارد الفرعية (SRI) وتجزئات سياسة أمان المحتوى (CSP) وترويسات المجموع الاختباري مثل Content-MD5 صيغة Base64. حوّل أحد الطرفين لتتمكن من المقارنة بينهما.
  • بصمات SSH. يطبع الأمر ssh-keygen -l بصمات SHA256: بترميز Base64 بلا حشو، بينما تخزّن سجلات SSHFP في نظام DNS ملخص SHA-256 نفسه بالنظام الست عشري. الصق الجزء الذي يلي SHA256: لتحصل على الصيغة الست عشرية.
  • المفاتيح ومتجهات التهيئة (IV) والتواقيع. عند تنقيح الشيفرات التشفيرية، تسهّل رؤية البايتات بالنظام الست عشري التحقق من الطول ومقارنة القيم واكتشاف بايت ناقص أو زائد.

المدخلات التي يقبلها المحوّل

تُتجاهل المسافات وفواصل الأسطر في مدخلات Base64، وتُقبل الأحرف الآمنة لعناوين URL - و_، والحشو بالرمز = اختياري، لذا يمكنك لصق القيم المنسوخة من JSON أو JWT أو مخرجات الطرفية كما هي. يعمل التحويل على البايتات الناتجة عن فك الترميز: فالنتيجة هي التمثيل الست عشري للبيانات، لا لأحرف Base64 نفسها. ولعرض الرموز الست عشرية لنص ما، استخدم أداة Base16 بدلًا من ذلك.

# سطر الأوامر
printf '%s' "$B64" | base64 --decode | xxd -p

# Python
base64.b64decode(s).hex()

// Node.js
Buffer.from(s, 'base64').toString('hex')

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

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

يحتاج النظام الست عشري إلى حرفين لكل بايت، بينما يحتاج Base64 إلى نحو 1.33 حرف فقط. فملخص SHA-256 بطول 32 بايتًا يشغل 44 حرفًا بترميز Base64 و64 حرفًا بالنظام الست عشري.

كيف أحصل على أحرف ست عشرية كبيرة أو فواصل بالنقطتين؟
الأرقام الست عشرية غير حساسة لحالة الأحرف، فالقيم المكتوبة بأحرف صغيرة أو كبيرة متساوية. وللحصول على نمط معيّن، الصق القيمة الست عشرية في مرمّز Base16 بوصفها مدخلات ست عشرية، واختر «أحرف كبيرة»، أو فاصلًا من نوع «مسافة» أو «نقطتان»، أو البادئة 0x.
هل يمكنني تحويل قيم Base64URL من JWT أو JSON Web Key؟

نعم. تُعالَج الأحرف الآمنة لعناوين URL والحشو المفقود تلقائيًا، لذا يمكنك لصق معاملات المفاتيح والتواقيع دون أي تعديل.