Перейти до вмісту

Кодування та декодування Base32

Перетворюйте текст у RFC 4648 Base32 і назад із параметрами base32hex і заповнення.

Введення
Вихід

Кодування та декодування Base32

Base32 подає двійкові дані за допомогою 32 однозначних символів — літер від A до Z і цифр від 2 до 7. Це робить його надійнішим там, де Base64 ненадійний: він працює в системах, що не розрізняють регістр, не використовує символи, які конфліктують в URL та іменах файлів, і його легко продиктувати або набрати вручну. Найчастіше його зустрічаєте як секретний ключ застосунків двофакторної автентифікації, у записах DNS, а також в URI на кшталт ni: та хешах для обміну файлами.

Вставте текст, щоб закодувати його, або рядок Base32, щоб декодувати назад — напрямок перемикається селектором режиму. Інструмент дотримується RFC 4648: вхідний текст спершу перетворюється на байти UTF-8, тож символи з діакритикою та емодзі кодуються і декодуються правильно. Селектор алфавіту пропонує чотири варіанти: стандартний, base32hex (0–9, A–V), у якому порядок сортування закодованого рядка збігається з порядком вихідних байтів, Crockford Base32 і z-base-32.

Crockford Base32 використовує цифри 0–9 та літери A–Z без I, L, O і U. Його створено для кодів, які люди читають уголос і вводять знову: тут немає схожих символів, дефіси ігноруються, а під час декодування I і L читаються як 1, а O — як 0. Z-base-32 переупорядковує алфавіт так, щоб найлегші для читання й написання символи йшли першими, і виводить рядкові літери. Жоден із них не визначає доповнення символом =.

Доповнення знаками = доводить стандартний вивід і вивід base32hex до довжини, кратної восьми символам, як того вимагає RFC. Деякі системи — зокрема секретні ключі TOTP — його опускають, тому його можна вимкнути одним прапорцем. Декодування поблажливе: приймаються рядкові літери, відсутнє доповнення, пробіли та розриви рядків, а зрозуміле повідомлення попередить, якщо введені дані насправді не є Base32.

Усе працює у вашому браузері, тож нічого з вставленого не надсилається на сервер — це важливо, коли ви декодуєте секретний ключ автентифікатора. Результат можна скопіювати, завантажити як файл .txt або повернути у вхідні дані, щоб ланцюжком виконувати перетворення.

FAQ

Для чого використовується Base32?
Переважно для даних, які люди читають, вводять або зберігають у системах без урахування регістру: секретні ключі двофакторної автентифікації (TOTP), записи DNS, хеші файлів. Його 32-символьний алфавіт уникає схожих символів і зберігає використання верхнього регістру.
Чим Base32 відрізняється від Base64?
Base32 використовує 32 символи замість 64, тому його вихід приблизно на 20% довший, ніж Base64. У свою чергу, він не чутливий до регістру та уникає +, / та =, що робить його безпечнішим у URL-адресах, іменах файлів та усній чи рукописній формі.
Які варіанти Base32 підтримуються?
Чотири алфавіти: стандартний (RFC 4648), base32hex (0–9, далі A–V, що зберігає порядок сортування байтів), Crockford (без I, L, O та U; під час декодування I і L приймаються як 1, O — як 0, дефіси ігноруються) і z-base-32 (рядковий, орієнтований на людину порядок). Для кодування і декодування обирайте той самий.
Чи потрібне доповнення =?
Суворі потоки за RFC 4648 завершуються доповненням = до довжини, кратної восьми символам, але в багатьох реальних випадках — наприклад, у секретних ключах TOTP — його опускають. Під час кодування доповнення можна увімкнути або вимкнути для стандартного алфавіту та base32hex; Crockford і z-base-32 його ніколи не використовують. Декодування приймає обидві форми.
Мій текст десь завантажено?
Ні. Кодування та декодування повністю виконуються у вашому браузері, і нічого, що ви вставляєте, не залишає ваш пристрій — безпечно навіть для секретів автентифікатора.