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

Base32 представляет двоичные данные 32 символами: цифрами 2-7 и 26 заглавными буквами, без 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. Используется ULID и некоторыми лицензионными ключами.

По умолчанию инструмент использует стандартный 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. Очистите ввод или выберите правильный вариант.

Нет. Кодирование и декодирование выполняются в браузере. Ни ввод, ни результат не покидают ваш компьютер.

Сопутствующие инструменты

Кодировщик шифра A1Z26

Кодируйте текст шифром A1Z26 (A=1, B=2, ... Z=26) или декодируйте числовую последовательность обратно в буквы, выбрав разделитель.

Шифрование / расшифровка AES

Шифруйте и расшифровывайте текст низкого риска с AES-шифрами OpenSSL. Парольная фраза хэшируется SHA-256, а Base64-вывод содержит IV плюс шифротекст.

Кодировщик шифра Атбаш

Кодируйте или декодируйте текст шифром Атбаш, еврейской заменой, где A-Z отображается в Z-A. Одна и та же операция шифрует и расшифровывает.

Генератор bcrypt

Сгенерируйте bcrypt hash из plaintext password. Настраиваемый cost factor от 4 до 14, совместим с Laravel, Django, Node и PHP.

Кодировщик и декодировщик Base85

Кодируйте и декодируйте Base85 в вариантах Adobe Ascii85 (PostScript/PDF) или Z85 (ZeroMQ). Компактнее Base64 для двоичных данных.

Генератор bcrypt-хешей

Генерируйте bcrypt-хеши или проверяйте пароль в открытом виде относительно существующего bcrypt-хеша. Генерация и проверка рядом в одном инструменте.