Загрузить файл
  1. base64hub
  2. Ключи и хеши
  3. Хеш SHA-256 в Base64

SHA-256 в Base64

Хеш SHA-256 появляется сразу в Base64 (44 символа), Base64URL и hex, как только вы введёте текст или перетащите файлы. Во всех видах это те же 32 байта; выберите тот, который ждёт ваша система.

Бесплатно без регистрации и ограничений Локально ничего не загружается Файлы SHA-256 потоком для файлов больше 200 МБ Обновлено 27 окт. 2026 г.

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

Как получить хеш SHA-256 в Base64

  1. В поле Алгоритм выбран SHA-256; остальные кнопки переключают на MD5, SHA-1, SHA-384 или SHA-512.
  2. Когда в поле Источник выбран Текст, введите или вставьте данные в поле Текст. Формат ввода определяет, как читать этот текст: как текст UTF-8 или как байты в hex или Base64, если нужно захешировать двоичные данные, которые у вас уже есть в закодированном виде.
  3. Скопируйте результат в Hex, Base64 или Base64URL. Все алгоритмы показывает все хеши одного и того же ввода.
  4. Чтобы захешировать файлы, переключите Источник на Файл и перетащите один или несколько. Для каждого файла выводится свой результат. Для файлов больше 200 МБ SHA-256 и MD5 считаются кусками по 8 МБ с индикатором прогресса, так что большой файл никогда не нужно целиком держать в памяти.

Хеш обновляется по мере ввода. HMAC и SRI вверху переключают на хеши с ключом и теги Subresource Integrity.

Примеры хешей

ВводSHA-256 (hex)SHA-256 (Base64)
пустая строкаe3b0c442…7852b85547DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
hello2cf24dba…938b9824LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=
hello + перевод строки5891b5b5…46f6be03WJG1tSLV3whtD/CxEPvZ0hu0/HFjrzTQgoai6Eb2vgM=
The quick brown fox jumps over the lazy dogd7a8fbb3…37c9e59216j7swfXgJRpypq8sAguT41WUeRtPNt2LQLQvzfJ5ZI=

Вторая и третья строки показывают ловушку, из-за которой происходит большинство несовпадений: один невидимый перевод строки даёт совершенно другой хеш. Кроме того, в текстовом поле браузера окончания строк превращаются в LF, так что файлы с окончаниями CRLF перетаскивайте целиком, а не вставляйте их содержимое.

Где SHA-256 встречается в Base64

Традиционно хеш печатают в hex, но многие форматы используют Base64, потому что он короче:

  • Хеши в Content Security Policy для встроенных скриптов: script-src 'sha256-…'.
  • Subresource Integrity: integrity="sha256-…", хотя там чаще выбирают SHA-384.
  • HTTP-заголовок Content-Digest (RFC 9530): Content-Digest: sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=: для тела {"hello": "world"}. Двоеточия в структурированных заголовках обозначают двоичное значение.
  • Контрольные суммы облачных хранилищ, например заголовок x-amz-checksum-sha256 в Amazon S3, в котором передаётся хеш в Base64.
  • Lock-файлы и менеджеры пакетов: поле integrity в package-lock.json (обычно sha512-…) и хеши в стиле SRI в Nix.

Дайджесты образов Docker и OCI (sha256:…) и Git используют hex. Когда нужно сравнить значения из разных систем, конвертируйте их через hex в Base64 или Base64 в hex, а не хешируйте заново.

SHA-256 в Base64 в коде и командной строке

printf 'hello' | openssl dgst -sha256 -binary | base64
sha256sum file.bin | cut -d' ' -f1 | xxd -r -p | base64

Флаг -binary важен: без него OpenSSL печатает hex-текст, и Base64 от этого текста превращается в 88 бессмысленных символов.

import base64, hashlib

digest = hashlib.sha256(b"hello").digest()
print(base64.b64encode(digest).decode())

В Node.js crypto.createHash("sha256").update("hello").digest("base64") возвращает тот же LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=, а "base64url" даёт URL-safe вариант. Простой хеш не подписывает данные: пересчитать его может кто угодно. Чтобы доказать, что сообщение пришло от владельца ключа, используйте HMAC. Примеры кода собраны на страницах Base64 в Python и OpenSSL.

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

Почему мой SHA-256 не совпадает с тем, что выдаёт командная строка?

Почти всегда виноват перевод строки в конце. echo hello выводит шесть байтов: hello и \n, поэтому его хеш отличается от хеша hello. В оболочке используйте printf 'hello' или echo -n hello либо сравнивайте с файлом, перетащенным сюда.

Какой длины хеш SHA-256 в Base64?

44 символа с одним = в конце или 43 в Base64URL без дополнения. В hex это 64 символа. Если получилось 88 символов, в Base64 закодировали hex-текст, а не сам хеш.

Можно ли перевести hex-строку SHA-256 в Base64?

Да, байты хеша те же. Вставьте 64 hex-символа в hex в Base64 или в оболочке пропустите hex через xxd -r -p и передайте в base64.

Можно ли расшифровать SHA-256 обратно в исходный текст?

Нет. Хеш служит односторонним отпечатком, декодировать там нечего. Декодирование Base64 даст только 32 байта хеша; чем это отличается от кодирования, объясняет статья Base64 – не шифрование.