Пояснення
Як працює Кодувальник Base64
Base64 — це спосіб кодування (визначений у RFC 4648), який перетворює послідовності байтів на послідовність із 64 друкованих символів ASCII (A-Z, a-z, 0-9, +, /). Він кодує по 3 байти (24 біти) у 4 символи (по 6 бітів) і використовує = як доповнення в кінці.
Типові застосування — вкладення електронної пошти (MIME, RFC 2045), data-URL для зображень (data:image/png;base64,...), токени JWT, сертифікати PEM, HTTP Basic Authentication, JSON-API та файли конфігурації. При цьому цей інструмент обробляє лише текст UTF-8, а не файли чи довільні двійкові дані. Вивід потребує чотирьох символів на кожну розпочату групу з трьох вхідних байтів; доповнення впливає на короткий ввід.
Важливо: Base64 не є шифруванням. Кодування може обернути будь-хто без ключа. Дані, закодовані в Base64, так само читабельні, як оригінальний текст, — просто подані в іншому форматі.
Типові помилки
- Плутати Base64 з шифруванням: Base64 не забезпечує жодної безпеки. Будь-хто може декодувати закодований текст без ключа. Для приватності використовуйте справжнє шифрування (AES, ChaCha20).
- Забувати про небезпечні для URL символи: Стандартний Base64 містить + і /, які мають особливе значення в URL. Для URL-контекстів використовуйте Base64URL (з - і _) або URL-кодування.
- Плутати символи тексту з байтами: Символи Unicode можуть займати кілька байтів UTF-8; тому довжину виводу не можна вивести з кількості символів JavaScript.
- «Ховати» чутливі дані в Base64: Кодування паролів, ключів API чи персональних даних у Base64 не дає захисту. У логах, URL або конфігураціях вони тривіально читабельні.
Обмеження цього інструмента
- Немає приватності — Base64 читабельний, а не зашифрований.
- Чотири символи виводу на кожну розпочату групу з трьох вхідних байтів; доповнення впливає на короткий ввід.
- Лише текстовий ввід/вивід — без кодування файлів (зображення, PDF тощо).
- Немає режиму Base64URL (RFC 4648 §5) — лише стандартний Base64 з + і /.
- Декодування двійкових даних (не UTF-8) завершується помилкою, оскільки підтримується лише текстовий вивід.
Джерела
- RFC 4648: The Base16, Base32, and Base64 Data Encodings. IETF, 2006. Визначає стандартний Base64 і Base64URL.
- RFC 2045: MIME Part One — Format of Internet Message Bodies. Визначає Base64 для вкладень електронної пошти (Content-Transfer-Encoding).
- WHATWG HTML Standard: Визначення btoa() і atob() для перетворень Base64 у браузері.
- WHATWG Encoding Standard: Визначення TextEncoder, UTF-8 і фатального декодування TextDecoder.