Загрузить файл
  1. base64hub
  2. Другие BaseN
  3. Hex в Base64

Конвертер hex в Base64 для хешей и ключей

Вставьте байты в hex и получите те же байты в Base64. 64-значный дайджест SHA-256 превращается в 44 символа Base64, потому что hex сначала декодируется в байты, а не кодируется как текст.

Бесплатно без регистрации и ограничений Локально ничего не загружается 44 символа для дайджеста SHA-256, а не 88 Обновлено 27 окт. 2026 г.
Ввод 0Байты 0 BРезультат 0

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как перевести hex в Base64

  1. Вставьте hex в поле Ввод · Hex. Пробелы, переводы строк, двоеточия, дефисы и префиксы 0x или \x пропускаются, регистр не важен.
  2. Результат сразу появляется в поле Результат · Base64.
  3. Под результатом снимите галочку Дополнение (=), если получателю нужен Base64 без дополнения, и выставьте Перенос строк на 64 (PEM) или 76 (MIME), если нужен вывод с переносами.
  4. Нажмите Скопировать результат или проверьте результат в обратную сторону переключателем Base64 → Hex. Страница Base64 в hex работает в обратном направлении.

Дайджесты хешей: hex и Base64

Хеш-функции возвращают «сырые» байты. Утилиты командной строки вроде sha256sum и md5sum печатают эти байты в hex, а многие протоколы ждут их в Base64. Дайджест один, записи две. Вот дайджесты пяти байтов hello:

ХешHex (из sha256sum и т. п.)Base64
MD55d41402abc4b2a76b9719d911017c592XUFAKrxLKna5cZ2REBfFkg==
SHA-1aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dqvTGHdzF6KLavt4PO0gs2a6pQ00=
SHA-2562cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=

Где нужна запись в Base64:

  • Subresource Integrity. integrity="sha384-…" в теге <script> или <link> содержит дайджест в Base64. Генератор хеша SRI соберёт весь атрибут по файлу.
  • Заголовки Content-MD5. RFC 1864 определяет значение как Base64 от 16-байтового дайджеста MD5, и объектные хранилища, которые проверяют загрузки по этому заголовку, отвергают запись в hex. См. MD5 в Base64.
  • Подписи и HMAC в API-запросах, которые обычно передаются в Base64. HMAC в Base64 вычисляет их в любом из двух видов.
  • Ключи и секреты: 32-байтовый ключ, который выдаёт openssl rand -hex 32, превращается в 44-символьное значение Base64, которого ждут многие конфиги.

Для SHA-256 от собственного текста или файла SHA-256 в Base64 обходится вообще без шага с hex.

Типичная ошибка: кодировать hex как текст

echo -n 2cf24d…9824 | base64 выглядит правильно, но это не так. Команда кодирует 64 ASCII-символа hex-записи, а не 32 байта, которые за ними стоят, и выдаёт 88 символов, начиная с MmNmMjRk. Это значение декодируется обратно в hex-текст, так что никто не выдаёт ошибку, пока не провалится проверка подписи или целостности. Сначала декодируйте hex:

echo -n 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 | xxd -r -p | base64
# LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=

printf hello | openssl dgst -sha256 -binary | base64
# same result, without going through hex at all

xxd -r -p превращает обычный hex обратно в байты. Утилита идёт в комплекте с Vim; в минимальных системах установите пакет xxd. В OpenSSL именно -binary заставляет выдать дайджест байтами, а не в hex.

Hex в Base64 в коде

import base64
base64.b64encode(bytes.fromhex("5d41402abc4b2a76b9719d911017c592")).decode()
# 'XUFAKrxLKna5cZ2REBfFkg=='
Buffer.from("5d41402abc4b2a76b9719d911017c592", "hex").toString("base64");
// 'XUFAKrxLKna5cZ2REBfFkg=='

Варианты URL-safe и без дополнения разобраны на страницах про Python и Node.js. Если дайджест пойдёт в URL или JWT, переведите результат через Base64 в Base64URL.

Если конвертация не удалась

  • «нечётное число hex-цифр». На каждый байт нужно две цифры, а одна потерялась при копировании. Проверьте начало и конец ввода.
  • «неожиданный символ». Во вводе есть что-то, кроме hex, например метка sha256: или имя файла, которое sha256sum печатает после дайджеста. Удалите это; кнопка Показать перенесёт к нужному месту.
  • Смещения из hex-дампа. В строке 00000010: 4865 6c6c значение 00000010 обозначает позицию, а не данные, но это корректный hex, и конвертер его тоже обработает. Используйте вывод xxd -p, в котором смещений нет.

Вопросы и ответы

Как перевести хеш SHA-256 из hex в Base64?

Вставьте 64 hex-цифры в поле ввода. Получится 44 символа с = в конце: например, 2cf24dba…9824 превращается в LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=. В командной строке: echo -n HEX | xxd -r -p | base64.

Почему мой Base64 вдвое длиннее, чем должен быть?

Hex-строку закодировали как текст, и каждая hex-цифра стала отдельным байтом. Дайджест SHA-256 в таком случае даёт 88 символов вместо 44. Сначала декодируйте hex в байты: именно так работает этот конвертер.

Сколько символов Base64 получается из hex-строки?

Две hex-цифры дают один байт, а каждые 3 байта превращаются в 4 символа Base64 с округлением вверх до кратного 4. 32 hex-цифры (MD5) дают 24 символа, 40 (SHA-1) – 28, 64 (SHA-256) – 44, а 128 (SHA-512) – 88.

Можно ли перевести UUID в Base64?

Да, вставляйте его прямо с дефисами. 16 байт 123e4567-e89b-12d3-a456-426614174000 превращаются в Ej5FZ+ibEtOkVkJmFBdAAA==: 24 символа вместо 36.