مشفر ومفكك Base32

يمثل Base32 البيانات الثنائية باستخدام 32 محرفا: الأرقام العشرة 2-7 والحروف الكبيرة الستة والعشرون، دون 0/O أو 1/I لتجنب أخطاء القراءة. وهذا يجعله مثاليا لأي شيء يجب على الإنسان كتابته أو قراءته بصوت عال: أسرار TOTP للمصادقة الثنائية، وأكواد القسائم، والمعرفات غير الحساسة لحالة الأحرف. تشفر هذه الأداة البيانات الثنائية أو النص إلى Base32 وتفكه مرة أخرى، وفق RFC 4648 مع حشو اختياري.

كيفية تشفير Base32 أو فك ترميزه

  1. 1

    الصق نصا أو ارفع ملفا

    يعامل الإدخال كبايتات. UTF-8 هو التفسير الافتراضي لإدخال النص.

  2. 2

    اختر الاتجاه

    التشفير لتحويل البايتات الخام إلى سلسلة Base32؛ وفك الترميز لاستعادة البايتات.

  3. 3

    اضبط الحشو

    يحدد RFC 4648 حشوا بعلامة `=` حتى يصبح الطول مضاعفا لـ 8. أوقفه لأسرار TOTP والرموز المضغوطة.

  4. 4

    انسخ النتيجة

    الناتج المشفر يكون بأحرف كبيرة، مع حشو أو بدونه حسب إعدادك.

أبجدية RFC 4648

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

لا 0، ولا 1، ولا 8، ولا 9. كل محرف يرمز 5 بتات (2^5 = 32)، لذلك تتحول 5 بايتات إدخال إلى 8 محارف خرج.

مثال محلول

ترميز سلسلة ASCII وهي foo (البايتات 0x66 0x6F 0x6F = 01100110 01101111 01101111):

  1. قسم إلى مجموعات من 5 بتات: 01100 11001 10111 10110 1111 (آخر مجموعة محشوة)
  2. طابق مع الأبجدية: M Z X W 6
  3. أضف حشو === للوصول إلى 8 محارف: MZXW6===

قواعد الحشو والطول

بايتات الإدخال طول الخرج الحشو
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (لا شيء)

متغيرات خارج RFC 4648

  • Base32 Hex — أبجدية 0-9A-V، يستخدمها NSEC3 في DNSSEC.
  • Crockford's Base32 — أبجدية محسنة للكتابة البشرية؛ تستبدل O0 وI/L1 عند الفك. تستخدمها ULIDs وبعض مفاتيح الترخيص.

تستخدم هذه الأداة RFC 4648 القياسي افتراضيا.

أسرار TOTP

صيغة URI otpauth:// التي يستخدمها Google Authenticator وكل تطبيق 2FA حديث ترمز السر المشترك في Base32 دون حشو. عندما تمسح رمز QR لـ “My Service”، يكون معامل secret= سلسلة Base32. فكها بهذه الأداة لفحص البايتات الخام التي يستخدمها HMAC.

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

Base32 غير حساس لحالة الأحرف ويتجنب المحارف المتشابهة، وهذا مهم لأي شيء يقرأه أو يكتبه إنسان. Base64 أكثف (محارف أقل للبايتات نفسها) لكنه يطلب التمييز بين I وl وبين 0 وO، وهذا يفشل في الكتابة اليدوية والطباعة الصغيرة.

يقول RFC 4648 نعم، لكن معظم المستهلكين في العالم الحقيقي (تطبيقات TOTP، ومكتبات ULID، ومحللات DNSSEC) يقبلون الإدخال غير المحشو. تتيح لك هذه الأداة الاختيار؛ الصق أي شكل وينبغي أن يعمل الفك.

Base32 القياسي لا يحتوي 0 أو 1 أو 8 أو 9 ويكون دائما بأحرف كبيرة. إذا احتوى إدخالك على هذه، فقد يكون متغير Crockford أو base32hex، وليس RFC 4648. نظف الإدخال أو اختر المتغير الصحيح.

لا. يجري الترميز وفك الترميز في المتصفح. لا يغادر الإدخال ولا النتيجة جهازك.

أدوات ذات صلة