Техподдержка
Base64 — это не шифрование: что оно делает и как декодировать
Base64 — кодирование, не шифрование. Почему оно не прячет пароли, почему растёт размер и как декодировать.
Base64 — кодирование, не шифрование. Оно превращает двоичные данные в текстовую форму, которую текстовые системы могут хранить или отправлять.
У кого есть текст Base64, обычно может его декодировать. Пароль или секретный ключ не нужны.
Не используйте Base64, чтобы защищать пароли, ключи API, токены доступа, личные сообщения или другие секреты. Это средство представления, не механизм безопасности.
Если строка выглядит кашей, это не значит, что она зашифрована. Base64 меняет только то, как байты записываются текстом.
Что Base64 делает на самом деле?
Base64 кодирует двоичные данные ограниченным набором ASCII: A–Z, a–z, 0–9, + и /. Может появиться дополнение =, чтобы длина выхода была кратна 4. Дополнение есть не всегда: короткие входы могут дать один или два =, а некоторые форматы его опускают.
Hello
Hello
Base64
SGVsbG8=
Декодируйте SGVsbG8= — снова получите Hello. Этот круг не требует ключа.
- Исходные данные
- Hello
- Кодировать Base64
- SGVsbG8=
- Декодировать Base64
- Hello
Base64 и шифрование: в чём разница?
Base64 нужно для представления и совместимости. Оно не скрывает содержимое. Шифрование нужно для конфиденциальности и использует криптографический ключевой материал. Декодирование Base64 — не расшифровка. Системы с открытым ключом тоже используют ключи; говорите «подходящий криптографический ключ», а не «один общий секрет на любой вид шифрования». Хэширование — третья идея: дайджест, не обратимое кодирование.
- Кодирование
- Нет секретного ключа
- Обратить может кто угодно
- Шифрование
- Криптографическая защита
- Чтобы расшифровать, нужен верный ключ
Три разные задачи:
| Метод | Главная цель | Нужен секрет |
|---|---|---|
| Base64 | Кодировать данные как текст | Нет |
| Шифрование | Защитить конфиденциальность | Да / ключевой материал |
| Хэширование | Односторонний дайджест | Без расшифровки |
Безопасен ли Base64?
Само по себе Base64 не даёт конфиденциальности. Текст может казаться непрозрачным, но это не функция безопасности. Обычный декодер восстанавливает байты. Это не значит, что «Base64 небезопасен» как технология. Это обычное кодирование. Это не механизм безопасности. Безопасность зависит от окружающей системы и контроля.
Можно ли спрятать пароль или ключ API в Base64?
Нет, не как защиту. Кодирование пароля, ключа API, токена доступа или частных данных в Base64 их не защищает. Кто получит закодированную строку, обычно сможет декодировать. Используйте настоящее хранение секретов и шифрование, когда важна конфиденциальность.
Зачем Base64, если это не шифрование?
Системы, которые ждут текст, часто не могут нести сырые двоичные данные. Base64 используют, чтобы представить двоичное в текстовых форматах, встроить небольшие двоичные ресурсы, провести байты через текстовые каналы, собрать Data URL, появиться в некоторых контекстах почты/MIME и заполнить полезную нагрузку API, когда схема просит Base64. API не используют Base64 «ради безопасности». Они используют его ради совместимости.
Почему Base64 увеличивает данные?
Стандартный Base64 с дополнением отображает 3 входных байта в 4 символа. Длина равна 4 × ceil(n / 3), где n — число входных байтов. Три байта становятся 4 символами; шесть — 8. Это примерно на 33% больше — около трети — для большой сырой полезной нагрузки. Малые входы из‑за дополнения могут выглядеть иначе: один байт становится QQ== (4 символа). Кавычки JSON, префикс Data URL, сжатие или дополнительное транспортное кодирование могут ещё изменить сохранённый или отправленный размер. Base64 не сжимает данные.
Что такое Base64URL?
Base64URL — безопасный для URL и имён файлов вариант того же кодирования, не шифрование. + становится -, / становится _, а дополнение часто опускают. Кодировать Base64 может кодировать и декодировать стандартный Base64 и Base64URL. Правила дополнения зависят от спецификации. Этот инструмент не декодер JWT.
Можно ли кодировать изображения и файлы в Base64?
Да. Изображения, PDF и другие двоичные файлы можно превратить в текстовое представление Base64. Base64 эти файлы не сжимает. Закодированный текст обычно больше сырых байтов.
Что такое Data URL с Base64?
Data URL может собрать тип носителя, метку кодирования и закодированные байты в одной строке:
data:image/png;base64,...
Это удобно для маленьких ресурсов. Класть большой файл в Data URL не всегда хорошая идея: строка растёт, страницы могут тормозить. Считайте это компромиссом, не значением по умолчанию.
Кодирование, шифрование и хэширование
Кодирование (включая Base64) нужно для представления и обратимо без секрета. Шифрование нужно для конфиденциальности и использует криптографический ключевой материал. Хэширование даёт дайджест, обычно задуманный как односторонний. Длина выхода зависит от алгоритма: SHA-256 и SHA-512 разного размера. Создать хеш может показать эти дайджесты; он не шифрует и не заменяет Base64.
Частые ошибки с Base64
Считать Base64 шифрованием
Оно меняет только то, как байты выглядят текстом.
Хранить секреты как обычный Base64
Закодированное значение может декодировать любой, у кого оно есть.
Думать, что Base64 сжимает данные
Не сжимает. Текстовая форма обычно больше.
Забывать про рост размера
Заложите примерно треть сверху на больших сырых нагрузках.
Путать Base64 с Base64URL
Алфавиты разные. Декодер может отклонить неверный вариант.
Декодировать с неверной кодировкой символов
Base64 восстанавливает байты. Тексту всё равно нужна подходящая кодировка, обычно UTF-8.
Считать, что = всегда есть
Дополнение используют, когда нужно. У части строк его нет.
Почему текст Unicode может ломать Base64?
Base64 работает с байтами, не с символами. Текст сначала нужно превратить в байты — обычно UTF-8. Корейский, японский, арабский и эмодзи требуют этого шага. Браузерный btoa() на строке Unicode может не сработать. Кодировать Base64 кодирует байты UTF-8, поэтому такой текст проходит туда и обратно. Если декодировать неверным charset, Base64 может быть верным, а буквы всё равно выглядеть неправильно.
Base64 не даёт конфиденциальности. У кого есть закодированное значение, обычно может его декодировать. Не считайте кашеобразный текст защищённым секретом.
Кодируйте или декодируйте Base64 в браузере
NEXNARA Кодировать Base64 преобразует текст UTF-8 и файлы локально.
Можно кодировать или декодировать стандартный Base64 и Base64URL, превратить файл в сырой Base64 или Data URL и вернуть Base64 или Data URL в загрузку. Неверный ввод отклоняется, а не роняет вкладку. Пробелы игнорируются; недостающее дополнение дополняется.
Файлы больше 10 MB могут замедлить вкладку. Файлы больше 32 MB в браузере не обрабатываются.
Сама обработка Base64 идёт в браузере. Текст или файл не отправляются на сервер NEXNARA в этом инструменте. Реклама и другие функции сайта по-прежнему используют сеть; это отдельно от обработки.
Нужно закодировать или декодировать Base64? Откройте Кодировать Base64 и вставьте текст или перетащите файл.
FAQ
Base64 — это шифрование?
Нет. Base64 — кодирование. Оно меняет представление. Оно не защищает конфиденциальность.
Безопасен ли Base64?
Base64 не механизм безопасности. Это обычное кодирование. У кого есть текст, обычно может его декодировать. Безопасность зависит от остальной системы.
Можно ли декодировать Base64 без пароля?
Да. Достаточно стандартного декодера. Самому Base64 не нужны пароль или секретный ключ.
Почему Base64 увеличивает размер файла?
Каждые 3 байта становятся 4 символами в стандартном Base64 с дополнением (длина 4 × ceil(n / 3)). Это примерно на 33% больше для большой сырой нагрузки. Дополнение может изменить долю на крошечных входах.
В чём разница между Base64 и Base64URL?
Base64URL использует - и _ вместо + и / и часто опускает дополнение =. Оба — кодирования. Кодировать Base64 поддерживает оба алфавита.
Можно ли кодировать изображения и файлы в Base64?
Да. Результат — текст, не меньший файл. Используйте режим файла в Кодировать Base64 для сырого Base64 или Data URL. Файл остаётся в браузере.