Перейти к содержимому

Кодировщик/Декодировщик Base32

Кодирует и декодирует текст с помощью Base32.

Об этом инструменте

Base32 — это схема двоичного кодирования в текст, которая преобразует исходные данные в 32-символный алфавит (A-Z и 2-7), позволяя безопасно передавать двоичную информацию через текстовые системы. В отличие от более компактного Base64, Base32 приоритизирует надёжность и читаемость. Его ограниченный набор символов исключает путаницу между похожими буквами (например, 'O' и '0') и надёжно работает в разных кодировках символов. Base32 особенно ценен в системах аутентификации (TOTP-токены для двухфакторной аутентификации), файлах зон DNS, системах именования файлов и везде, где критически важна безопасная и однозначная передача данных.

Чтобы использовать этот инструмент, вставьте или введите ваши данные в поле ввода и выберите 'Кодировать' для преобразования исходного текста или двоичных данных в формат Base32, или 'Декодировать' для преобразования текста, закодированного в Base32, обратно в его исходную форму. Инструмент безпроблемно обрабатывает как текстовые, так и двоичные входные данные, автоматически обрабатывает данные и мгновенно отображает результат. Распространённые сценарии использования включают генерирование или проверку кодов двухфакторной аутентификации, безопасное встраивание данных в URL-адреса, преобразование двоичных файлов для хранения или передачи, а также обеспечение целостности данных при передаче информации между системами с различной поддержкой символов.

Преимущество Base32 перед другими кодированиями — нечувствительность к регистру букв: версии в верхнем и нижнем регистре декодируются идентично, что сокращает ошибки ввода при ручной работе. Кодирование увеличивает размер данных примерно на 60 %, что больше, чем Base64, но всё ещё управляемо для большинства приложений. Если вы работаете с приложениями аутентификации, распространяете QR-коды с закодированными данными или нуждаетесь в удобном для человека кодировании, которое минимизирует двусмысленность, Base32 часто является идеальным выбором.

Часто задаваемые вопросы

Реализация кода

import base64

# Encode bytes to Base32
data = b"Hello, World!"
encoded = base64.b32encode(data).decode()
print("Encoded:", encoded)  # JBSWY3DPEB3W64TMMQ======

# Decode Base32 back to bytes
decoded = base64.b32decode(encoded)
print("Decoded:", decoded.decode())  # Hello, World!

# Base32 for TOTP secret generation
import os
totp_secret = base64.b32encode(os.urandom(20)).decode().rstrip("=")
print("TOTP Secret:", totp_secret)  # e.g. JBSWY3DPEB3W64TM

# Decode without padding (common in authenticator apps)
def b32decode_nopad(s: str) -> bytes:
    pad = (8 - len(s) % 8) % 8
    return base64.b32decode(s.upper() + "=" * pad)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.