devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

Base64

Кодирование / декодирование, безопасно для UTF-8, URL-вариант.

 

Для чего нужен Base64

Base64 превращает произвольные байты в алфавит, который переживает системы, рассчитанные на текст: HTTP-заголовки, поля JSON, тела писем, значения в YAML. Это транспортная кодировка, и она полностью обратима кем угодно.

URL-safe вариант заменяет два символа, ломающиеся в query-строках и путях, и убирает выравнивание. Именно его используют JWT, OAuth state и большинство API.

Base64 — это шифрование?

Нет, и восприятие его как шифрования — постоянная причина утечек учётных данных. Раскодировать может любой в одно действие, без ключа. Kubernetes Secret хранит значения в Base64 ради транспорта, а не ради защиты, — именно поэтому коммит такого файла в git является реальным инцидентом.

Когда нужен URL-safe вариант?

Всегда, когда значение едет в пути URL, query-строке или имени файла. Стандартный Base64 использует + и /, зарезервированные там, поэтому обычный кодировщик выдаёт строки, которые тихо ломаются после переписывания прокси.

Почему в раскодированном тексте битые символы?

Скорее всего, на входе был не UTF-8 текст: бинарные данные, прочитанные как текст, всегда выглядят так. Второй вариант — строку обрезали: Base64 работает блоками по четыре символа, и копипаст, потерявший хвост, портит последние байты.

Смежные инструменты: Декодер JWT, Punycode и YAML / JSON / TOML.