SHA-256 Hash Generator

Генерує хеш SHA-256 з будь-якого тексту

Введення тексту

Працює локально · Безпечно вставляти секрети

Хеш SHA-256

Хеш SHA-256 буде відображено тут…

Що таке хешування SHA-256?

SHA-256 (Secure Hash Algorithm 256-bit) — це криптографічна хеш-функція з сімейства SHA-2, опублікована NIST у 2001 році як частина FIPS 180-2 (оновлено у FIPS 180-4). Для будь-якого вхідного значення — одного символу, файлу розміром кілька гігабайт або порожнього рядка — SHA-256 виробляє фіксований 256-бітний (32-байтний) дайджест, який прийнято відображати у вигляді 64 шістнадцяткових символів. SHA-256 є найпоширенішою хеш-функцією у виробничих системах сьогодні: вона лежить в основі ланцюжків TLS-сертифікатів, алгоритму доказу виконаної роботи Bitcoin, Subresource Integrity (SRI) та робочих процесів підписання коду.

SHA-256 є однобічною функцією: обчислення хешу з вхідних даних відбувається швидко (сотні мегабайт за секунду на сучасному апаратному забезпеченні), проте зворотний процес — пошук вхідних даних, що дають заданий хеш — є обчислювально нездійсненним. Ця властивість, що називається стійкістю до відновлення прообразу, робить SHA-256 придатним для хешування паролів (у поєднанні із сіллю та розтягуванням ключа), цифрових підписів та перевірки цілісності даних. На відміну від MD5 і SHA-1, жодної колізійної атаки або атаки відновлення прообразу проти повного SHA-256 не було продемонстровано.

Сімейство SHA-2 включає шість варіантів: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 і SHA-512/256. SHA-256 працює з 32-бітними словами та виконує 64 раунди на блок, оптимізовані для 32-бітних процесорів. SHA-512 використовує 64-бітні слова та 80 раундів, що може бути швидшим на 64-бітних платформах. Для більшості застосунків, де достатньо 256-бітного дайджесту, SHA-256 залишається рекомендацією за замовчуванням від NIST, IETF і CA/Browser Forum.

Навіщо використовувати онлайн-генератор SHA-256?

Генерація хешу SHA-256 зазвичай вимагає команди в терміналі або кількох рядків коду. Цей інструмент у браузері дозволяє обчислювати дайджести SHA-256 без встановлення будь-чого, перемикання контексту чи написання скрипту.

Миттєве хешування в браузері
Вставте або введіть будь-який текст — і одразу отримаєте дайджест SHA-256. Web Crypto API виконує обчислення нативно, без накладних витрат JavaScript-бібліотек.
🔒
Обробка з пріоритетом конфіденційності
Ваші вхідні дані ніколи не покидають пристрій. Усе хешування виконується локально через вбудований Web Crypto API браузера. Жодні дані не передаються на жоден сервер.
📋
Формати виведення, готові до копіювання
Отримайте хеш у нижньому або верхньому регістрі hex одним кліком. Зручно для звірки контрольних сум із менеджерів пакетів, CI-конвеєрів або документації.
🔍
Перевірка еталонних значень
Швидко перевіряйте дайджести SHA-256 зі сторінок завантаження, SBOM-маніфестів або журналів аудиту без відкриття терміналу чи написання одноразового коду.

Сфери застосування SHA-256

Frontend-розробник — Subresource Integrity
Обчисліть хеш SHA-256 скрипту або таблиці стилів, розміщених на CDN, щоб заповнити атрибут integrity у тегах script і link — це захищає від підміни в ланцюжку постачання.
Backend-інженер — підписання API-запитів
Багато API (AWS Signature V4, вебхуки Stripe) вимагають хешів SHA-256 корисного навантаження запитів. Використовуйте цей інструмент для обчислення еталонних хешів під час розробки та налагодження.
DevOps — перевірка артефактів
Перевіряйте контрольні суми SHA-256 завантажених бінарних файлів, базових образів Docker або плагінів провайдера Terraform перед розгортанням у виробничій інфраструктурі.
QA-інженер — перевірка тестових векторів
Порівнюйте виведення SHA-256 з тестовими векторами NIST (приклади FIPS 180-4), щоб переконатися, що ваша реалізація хешування правильно обробляє граничні випадки.
Data-інженер — відбитки на рівні рядків
Хешуйте складені ключі або поля PII за допомогою SHA-256, щоб створювати детерміновані, незворотні відбитки для дедублікації або псевдонімізації в конвеєрах обробки даних.
Студент — навчання криптографії
Досліджуйте SHA-256, щоб спостерігати ефект лавини: змініть один символ у вхідних даних і подивіться, як непередбачувано зміниться весь 64-символьний результат.

Порівняння варіантів сімейства SHA-2

SHA-256 належить до сімейства SHA-2, визначеного у FIPS 180-4. Кожен варіант відрізняється розміром дайджесту, характеристиками продуктивності та запасом безпеки. У таблиці нижче порівнюються всі варіанти SHA-2, з якими ви, ймовірно, зустрінетесь.

ВаріантРозмір дайджестуДовжина hexРозмір у байтахНайкраще для
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-384384 bits96 hex chars48 bytesGovernment / CNSS, higher collision margin
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-256 проти SHA-1, MD5 та SHA-3

Вибір правильного алгоритму хешування залежить від ваших вимог безпеки та обмежень сумісності. SHA-256 займає оптимальне практичне місце: він безпечний, підтримується повсюдно (включаючи Web Crypto API) і достатньо швидкий для більшості робочих навантажень. Таблиця порівняння нижче охоплює властивості, що найбільше важливі при виборі хеш-функції.

ВластивістьSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

Як SHA-256 працює всередині

SHA-256 обробляє вхідні дані блоками по 512 біт (64 байти) через конструкцію Меркля–Дамгора. Алгоритм ініціалізує вісім 32-бітних слів стану (H0–H7), отриманих із дробових частин квадратних коренів перших восьми простих чисел. Кожен блок проходить через 64 раунди змішування, що використовують побітові операції (AND, XOR, NOT, циклічний зсув вправо, логічний зсув вправо) та 64 константи раундів, отримані з кубічних коренів перших 64 простих чисел.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
КрокОпис
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

Ефект лавини гарантує, що зміна одного біта у вхідних даних змінює приблизно 50% бітів виводу. Ця властивість у поєднанні зі стійкістю до колізій на рівні 2^128 операцій пояснює, чому SHA-256 залишається базовою рекомендацією для застосунків, критичних з точки зору безпеки, у 2026 році.

Приклади коду SHA-256

SHA-256 доступний нативно в кожній основній мові та середовищі виконання. Web Crypto API надає його в браузерах без будь-яких бібліотек. Наведені нижче приклади демонструють реальні шаблони використання, включаючи обробку Unicode-вхідних даних та хешування файлів.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha256(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-256', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha256').update('hello world').digest('hex')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Python
import hashlib

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha256()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Часті запитання

Чи залишається SHA-256 безпечним?
Так. Станом на 2026 рік жодної практичної колізійної атаки, атаки відновлення прообразу або другого прообразу проти повного SHA-256 знайдено не було. NIST, CA/Browser Forum та IETF продовжують рекомендувати SHA-256 для TLS-сертифікатів, підписання коду та цифрових підписів. Теоретична стійкість до колізій становить 2^128 операцій — що значно перевищує поточні обчислювальні можливості.
У чому різниця між SHA-256 і SHA-2?
SHA-2 — це назва сімейства шести хеш-функцій: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 і SHA-512/256. SHA-256 є найбільш широко використовуваним членом. Коли в документації написано «використовуйте SHA-2», це майже завжди означає саме SHA-256, якщо тільки не потрібен довший дайджест.
Чи можна відновити вхідні дані з SHA-256 або розшифрувати його?
Ні. SHA-256 є однобічною хеш-функцією, а не шифруванням. Тут немає ключа і немає процесу розшифрування. Єдиний спосіб знайти вихідні вхідні дані — це атака грубою силою або словникова атака, що є обчислювально нездійсненним для достатньо складних вхідних даних. Для коротких або передбачуваних вхідних даних (наприклад, поширених паролів) існують попередньо обчислені таблиці райдужних хешів, тому хешування паролів завжди повинне використовувати сіль і спеціалізовану функцію виведення ключів, як-от bcrypt або Argon2.
Як SHA-256 порівнюється з SHA-3?
SHA-3 (Keccak, FIPS 202) використовує зовсім іншу внутрішню структуру (губчасту конструкцію), ніж SHA-256 (Меркля–Дамгора). Як SHA-256, так і SHA-3-256 виробляють 256-бітний дайджест та пропонують еквівалентну стійкість до колізій. SHA-3 був розроблений як резервний варіант на випадок злому SHA-2, але SHA-2 досі не зламаний. SHA-256 має ширшу підтримку в середовищах виконання — зокрема, Web Crypto API підтримує SHA-256, але не SHA-3.
Чи підходить SHA-256 для хешування паролів?
Не безпосередньо. Сирий хеш SHA-256 пароля вразливий до атак грубою силою та таблиць райдужних хешів, оскільки SHA-256 розроблений бути швидким. Для зберігання паролів використовуйте спеціалізовану функцію виведення ключів, як-от bcrypt, scrypt або Argon2id, які додають сіль та налаштовуваний коефіцієнт роботи для уповільнення атак.
Чому Bitcoin використовує подвійний SHA-256?
Bitcoin обчислює SHA-256(SHA-256(data)) (відомий як hash256) для заголовків блоків та ідентифікаторів транзакцій. Подвійне застосування захищає від атак розширення довжини, при яких зловмисник додає дані до повідомлення та обчислює дійсний хеш, не знаючи вихідних вхідних даних. Це властивість хешів Меркля–Дамгора, від якої одиночний прохід SHA-256 не захищає.
Що таке Subresource Integrity (SRI) і як SHA-256 пов’язаний з нею?
SRI — це специфікація W3C, яка дозволяє браузерам перевіряти, що завантажений ресурс (скрипт, таблиця стилів) не був підмінений. Ви додаєте атрибут integrity, що містить закодований у Base64 хеш SHA-256 (або SHA-384/SHA-512) очікуваного вмісту файлу. Браузер обчислює хеш завантаженого файлу та відмовляється виконувати його, якщо хеші не збігаються. SHA-256 — це мінімальний алгоритм, підтримуваний SRI.