Что такое Base64?
Base64 — схема кодирования, преобразующая бинарные данные в печатаемые ASCII-символы. Определён RFC 4648 и является одним из основных строительных блоков современных интернет-протоколов. Название происходит от алфавита из 64 символов: заглавные буквы (A–Z), строчные буквы (a–z), цифры (0–9) и два специальных символа (+ и /). Каждые 3 байта исходных данных преобразуются в 4 символа Base64, что увеличивает размер примерно на 33%.
Как работает Base64?
Входные данные разбиваются на блоки по 3 байта (24 бита). Каждый блок делится на четыре группы по 6 бит, и каждая группа заменяется соответствующим символом Base64 (значение 0–63). Если последний блок неполный, добавляются символы = дополнения.
Области применения
JWT-токены
JSON Web Token состоит из трёх частей, закодированных Base64URL: заголовок, полезная нагрузка и подпись. Вариант URL-safe заменяет + на - и / на _, чтобы токены работали в URL без дополнительного кодирования. Многие разработчики используют декодер Base64 для просмотра содержимого JWT.
HTTP Basic Authentication
HTTP Basic Auth объединяет имя пользователя и пароль (через :), кодирует в Base64 и отправляет в заголовке Authorization. Это не шифрование — без HTTPS учётные данные читаемы.
Вложения электронной почты (MIME)
SMTP передаёт только ASCII-текст. Стандарт MIME кодирует вложения в Base64, чтобы они могли проходить через почтовые серверы. Так работает отправка PDF, изображений и других файлов по email.
CSS Data URI
Небольшие изображения, SVG-иконки или шрифты можно встраивать прямо в CSS: background: url('data:image/png;base64,...'). Это устраняет лишние HTTP-запросы.
REST API и базы данных
JSON передаёт только текстовые данные. Поэтому изображения или бинарные данные кодируются в Base64 в теле API-запросов. Многие облачные сервисы ожидают файлы в Base64 для загрузки.
Base64 ≠ шифрование
Base64 — не технология безопасности. Любой может декодировать его за секунды без ключа. Хранение паролей или персональных данных только в Base64 — серьёзная уязвимость. Для реальной защиты используйте AES-256 или RSA.
URL-safe вариант (Base64URL)
RFC 4648 §5 определяет Base64URL: + заменяется на -, / — на _. Этот вариант незаменим для OAuth 2.0 PKCE, JWT и современных API.
Конфиденциальность
Инструмент обрабатывает все данные локально в браузере. Никакие данные не отправляются на серверы.
Комментарии