أداة ترميز z-base-32 وفك ترميزه

حوّل النصوص أو البايتات الست عشرية أو الملفات إلى z-base-32 وبالعكس. تستبعد أبجديته ذات الأحرف الصغيرة الأحرف التي يسهل الخلط بينها، ولا تحتاج مخرجاته إلى حشو.

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

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

  1. اختر «ترميز» لتحويل النص إلى z-base-32، أو «فك الترميز» لإعادة z-base-32 إلى نص.
  2. أبقِ «النوع» على z-base-32 وتأكد من إيقاف «الحشو»، لأن هذه الصيغة لا تستخدمه.
  3. اكتب المدخلات أو الصقها، أو افتح ملفًا. تتحدّث النتيجة فور الكتابة.
  4. انسخ النتيجة أو نزّلها كملف.

ما هو z-base-32؟

z-base-32 ترميز Base32 صممه Zooko Wilcox-O'Hearn ليكون أسهل على الناس في القراءة والكتابة والنطق. وآلية عمله هي نفسها في Base32 وفق RFC 4648: يحمل كل حرف 5 بتات، وتتحول 5 بايتات إلى 8 أحرف. أما ما يميّزه فهو الأبجدية:

ybndrfg8ejkmcpqxot1uwisza345h769

فهي كلها بأحرف صغيرة، وتستبعد 0 و2 وl وv، التي يسهل الخلط بينها وبين o وz و1 وu. كما أن الأحرف مرتبة ترتيبًا مختلفًا، لذا لا تشبه مخرجات z-base-32 في شيء مخرجات Base32 القياسي للبايتات نفسها، ولا تستطيع أداة فك ترميز وفق RFC 4648 قراءتها.

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

أين يُستخدم z-base-32

  • دليل مفاتيح الويب في OpenPGP (WKD). لنشر مفتاح على عنوان URL معروف (well-known)، يُحوَّل الجزء المحلي من عنوان البريد الإلكتروني إلى أحرف صغيرة ويُجزَّأ باستخدام SHA-1، ثم تُرمَّز التجزئة البالغ طولها 20 بايتًا بصيغة z-base-32 في اسم ملف من 32 حرفًا.
  • ZRTP. يمكن عرض سلسلة المصادقة القصيرة، التي يقرؤها المتصلان بصوت عالٍ لاكتشاف هجوم الوسيط (man-in-the-middle)، في صورة Base32 بأبجدية z-base-32 (RFC 6189).
  • شبكة Lightning. تُعيد برمجيات العُقد مثل lnd وCore Lightning الرسائل الموقّعة في صورة سلاسل z-base-32.

ولصيغ أخرى سهلة على البشر، قارن بين Crockford Base32، الذي يحافظ على ترتيب الأرقام ويتسامح مع أخطاء الكتابة، وBase58، الذي يكون أقصر لكنه حساس لحالة الأحرف.

المواصفات

الأبجديةybndrfg8ejkmcpqxot1uwisza345h769
حجم المخرجات8 أحرف لكل 5 بايتات (160%)
الحشولا يوجد
المعيارz-base-32 (Zooko Wilcox-O'Hearn)
حساس لحالة الأحرفلا

أمثلة

المدخلات (UTF-8)المخرجات
Hello, World!jb1sa5dxfoofq551pt1nn
Base64.isejozg3jsgozg1ha
你好h164b3pfzw

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

هل z-base-32 هو نفسه Base32؟

لا. فهو يستخدم تجميع البتات الخماسي نفسه الذي في Base32 وفق RFC 4648، لكن بأبجدية مختلفة مُعادة الترتيب ودون حشو. ويجب فك ترميز سلسلة z-base-32 بأداة فك ترميز z-base-32.

هل z-base-32 حساس لحالة الأحرف؟

الأبجدية بأحرف صغيرة، والمخرجات دائمًا بأحرف صغيرة. وتقبل أداة فك الترميز هذه المدخلات بالأحرف الكبيرة أيضًا، فتحوّلها إلى أحرف صغيرة قبل فك الترميز.

ماذا لو انتهت السلسلة لديّ بعلامات =؟

لا يستخدم z-base-32 الحشو، لكن إن انتهت سلسلة بعلامات = فإن أداة فك الترميز تتجاهلها ببساطة.

كيف أحصل على تجزئة WKD؟
يحتاج WKD إلى تجزئة SHA-1 للجزء المحلي من العنوان بعد تحويله إلى أحرف صغيرة، وهذه الأداة لا تحسبها. احسب التجزئة في مكان آخر، ثم الصقها هنا بوصفها مدخلات ست عشرية ورمّزها. ويمكن لـ GnuPG أيضًا طباعة تجزئة WKD مباشرةً عبر الخيار --with-wkd-hash.