Кодировщик и декодировщик 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. Декодировщик принимает ввод и с дополнением, и без него.

  4. 4

    Скопируйте результат

    Закодированный вывод: в верхнем регистре, дополненный символами `=` до длины, кратной 8.

Алфавит 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 требует дополнения при кодировании. Этот инструмент всегда дополняет закодированный вывод символами = до длины, кратной 8. Большинство реальных потребителей (приложения TOTP, библиотеки ULID, преобразователи DNSSEC) принимают ввод без дополнения, а здешний декодировщик принимает обе формы, с дополнением и без.

В стандартном Base32 нет 0, 1, 8 или 9, и он всегда в верхнем регистре. Декодировщик молча игнорирует любой символ вне алфавита RFC 4648, поэтому ввод в нижнем регистре или с необычными символами декодируется в неверные байты. Перед декодированием приведите ввод к заглавным буквам A-Z и цифрам 2-7.

Да, текст передаётся на сервер страницы, чтобы был вычислен результат, а в многошаговом виде тот же текст также попадает в ссылку шага. Он не сохраняется и не записывается в журнал.

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

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

Кодируйте текст UTF-8 или шестнадцатеричные байты и безопасно декодируйте Base58 с алфавитом Bitcoin, Ripple или Flickr.

Кодировщик файлов Base64

Кодируйте любой файл (PDF, ZIP, изображение, исполняемый файл) в текст Base64 для встраивания в JSON, письма, YAML или data URI. Работает локально в браузере, без загрузки на сервер.

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

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

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

Кодируйте и декодируйте Base85 в варианте Adobe Ascii85, который используется в файлах PostScript и PDF. Компактнее Base64 для двоичных данных.

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

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

Генератор SSL-сертификатов

Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.

Инструмент доступен на других языках