Генератор хешей (SHA-1, SHA-256, SHA-384, SHA-512)
Введите любой текст, чтобы мгновенно увидеть все четыре SHA-хеша. Удобно для проверки целостности файлов, создания подписей, отладки подписи API-запросов и изучения криптографии.
Как это работает
Что такое хеширование и чем оно не является
Криптографическая хеш-функция принимает данные любого размера и выдаёт результат фиксированного размера («дайджест»). Одни и те же входные данные всегда дают одинаковый дайджест. Минимальное изменение входных данных порождает совершенно другой дайджест (лавинный эффект). Восстановить исходные данные из дайджеста вычислительно невозможно для криптографически стойких функций, таких как SHA-256.
Хеширование — это не шифрование. Здесь нет ключа и нет расшифровки. Типичные заблуждения: хеширование паролей (для паролей используйте bcrypt/argon2 — они замедляют перебор), «декодирование» хеша произвольного текста (невозможно по замыслу).
Какой алгоритм выбрать
SHA-256 — современный стандарт. Используется в Bitcoin, TLS-сертификатах, подписях JWT (HS256), хешах целостности файлов. 256 бит достаточно для любых реальных задач безопасности.
SHA-384 и SHA-512 — более крупные варианты того же семейства. SHA-512 иногда работает быстрее на 64-битном оборудовании. Используйте их, если протокол или стандарт явно требует этого.
SHA-1 устарел с точки зрения безопасности, но по-прежнему встречается в устаревших системах (старый TLS, хеши коммитов git). Не используйте его для новых критически важных работ — коллизии были продемонстрированы ещё в 2017 году. Мы включаем его для обратной совместимости.
Типичные области применения
Целостность файлов: скачайте файл вместе с хешем; пересчитайте хеш локально; сравните. Если они совпадают, файл не был изменён при передаче.
Коммиты git: идентификатор каждого коммита — это SHA-1 хеш его содержимого. Хеш сообщения коммита сам по себе ничего не раскрывает — для воспроизведения нужен полный коммит.
Подписание API-запросов: HMAC-SHA-256 — стандарт для AWS, GitHub и многих других API. Сам хеш — лишь часть HMAC; конкретную конструкцию предоставляет API.
Ключи кеширования: хеш URL или набора параметров даёт стабильный ключ кеша фиксированной длины.
Частые вопросы
›Почему нет MD5?
Коллизии MD5 были продемонстрированы ещё в 2004 году; Web Crypto API его не предоставляет. Для нецелевых задач безопасности (ключи кеша, дедупликация файлов) используйте SHA-256 — он лишь незначительно медленнее и не имеет риска коллизий.
›Можно ли хешировать бинарные файлы?
Не напрямую через этот инструмент — вставляйте только текст. Для файлов используйте оболочку ОС: `shasum -a 256 myfile.txt` на macOS/Linux, `Get-FileHash` на Windows.
›Почему SHA-512 длиннее SHA-256?
Числа в названиях обозначают длину выходного потока в битах: SHA-256 даёт 256 бит = 64 шестнадцатеричных символа; SHA-512 даёт 512 бит = 128 символов. Вдвое длиннее.
›Могут ли два разных входа дать одинаковый хеш?
Теоретически да (принцип «ячейки»), практически нет для SHA-256 при современных технологиях. Коллизии SHA-1 были продемонстрированы; SHA-256 — ещё нет.
›Стоит ли использовать это для хеширования паролей?
Нет. Пароли требуют медленного хеширования (bcrypt, scrypt, argon2) плюс соли. Простой SHA-256 слишком быстр — злоумышленники могут перебирать миллиарды вариантов в секунду.
›Почему одинаковый текст всегда даёт одинаковый хеш?
По определению. Хеш-функции детерминированы. Если вам нужны разные выходы каждый раз (например, «соль»), добавьте случайное значение к входным данным.
›Данные куда-то отправляются?
Нет. Web Crypto работает полностью в браузере; ничего не передаётся.
›Что такое HMAC — это оно?
HMAC добавляет секретный ключ к хеш-функции. Этот инструмент вычисляет простые хеши; для HMAC используйте специальный инструмент или библиотеку.
Похожие инструменты
Обновлено: