Генератор хеша SHA-1

Получите SHA-1 hash для текста онлайн. Введите или вставьте сообщение, чтобы рассчитать 160-битный дайджест в виде 40 строчных шестнадцатеричных символов, а затем скопируйте результат. Вычисление выполняется локально в браузере через Web Crypto API. SHA-1 подходит для совместимости с устаревшими системами, но не для защиты новых критичных к безопасности решений.

Текст
0 симв. · 0 байт
Попробовать:
Хеш
✓ Обработка выполняется локально в браузере ✓ Ввод не отправляется на сервер
Примеры
Пустая строка
Вход (пусто)
Выход da39a3ee5e6b4b0d3255bfef95601890afd80709

Хеш SHA-1 пустого ввода — известная постоянная величина.

Обычный текст
Вход привет мир
Выход e83ce120d45715e221066ec07efb3e2c4bb7572d

Короткое сообщение на русском языке превращается в строку фиксированной длины из 40 шестнадцатеричных символов.

Лавинный эффект
Вход Привет мир
Выход 6b49ee5b0520d4475013a5d6aaa085b711b3768a

Смена регистра первой буквы меняет один бит в UTF-8-представлении, но полностью преобразует хеш — это лавинный эффект.

Стандартный тестовый вектор SHA-1
Вход The quick brown fox jumps over the lazy dog
Выход 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12

Распространённый тестовый вектор для проверки того, что реализация SHA-1 возвращает ожидаемый дайджест.

Что такое SHA-1 простыми словами?

SHA-1 (Secure Hash Algorithm 1; также пишут SHA 1) — криптографическая хеш-функция, стандартизированная в 1995 году. Она преобразует входные данные любой длины в фиксированный 160-битный (20-байтовый) дайджест, который обычно записывают 40 шестнадцатеричными символами. Этот онлайн-калькулятор SHA-1 выводит хеш строчными символами.

SHA-1 детерминирован и односторонен, но уже не обладает достаточной стойкостью к коллизиям для современной защиты. Практические атаки позволяют создать разные входные данные с одинаковым SHA-1. Используйте генератор для совместимости, тестирования и идентификации без активного противника, но не для новых подписей, сертификатов и других задач, зависящих от стойкости к коллизиям.

Где SHA-1 ещё применяется, а где использовать его нельзя

SHA-1 сохраняется в устаревших протоколах, существующих Git-репозиториях, старых интеграциях HMAC-SHA-1 и наборах данных, где идентификаторы сложно заменить. Он также позволяет воспроизвести опубликованную старую контрольную сумму или обнаружить случайное повреждение данных, если намеренная подмена не входит в модель угроз.

Не выбирайте SHA-1 для новых цифровых подписей, подписей сертификатов, защищённых от подмены контрольных сумм и идентификаторов, входными данными которых управляет злоумышленник. Атака на коллизии не раскрывает исходное сообщение, но нарушает предположение, что один дайджест однозначно соответствует одному входу. Для новых форматов используйте SHA-256, SHA-512, SHA-3 или другой современный алгоритм.

Как пользоваться генератором SHA-1 онлайн
  1. Введите или вставьте текст в поле исходных данных.
  2. Оставьте SHA-1 выбранным в списке алгоритмов.
  3. Генератор рассчитает хеш в браузере и покажет результат из 40 шестнадцатеричных символов.
  4. Нажмите кнопку копирования, чтобы сохранить SHA-1 в буфер обмена.

Калькулятор хеширует точные UTF-8-байты введённого текста. Регистр букв, пробелы, знаки препинания, Unicode и переводы строк влияют на результат. Пустой ввод допустим и даёт стандартный SHA-1 пустой строки. В списке алгоритмов можно выбрать SHA-256, SHA-512, SHA-3, BLAKE2, MD5 или CRC32 и сравнить хеши одного текста.

Как работает алгоритм SHA-1

Сначала сообщение представляется в виде байтов, к нему добавляются выравнивающие биты и исходная длина, после чего данные делятся на 512-битные блоки. Каждый блок проходит 80 раундов 32-битных операций, сложений по модулю, констант и расширенного расписания сообщения. Пять 32-битных слов состояния образуют итоговый 160-битный дайджест.

Небольшое изменение входа обычно меняет множество выходных битов — это лавинный эффект. Однако стойкость к коллизиям является отдельным свойством: практические методы коллизий с выбранными префиксами делают SHA-1 непригодным, если злоумышленник может подготовить оба входа. Практического восстановления прообраза SHA-1 по-прежнему нет, но это не возвращает алгоритму безопасность для подписей и контроля намеренной подмены.

FAQ

Не для новых систем, безопасность которых зависит от стойкости к коллизиям: например, цифровых подписей и защищённых идентификаторов содержимого. Для SHA-1 существуют практические атаки на коллизии. Он ещё подходит для совместимости с устаревшими форматами и идентификации без активного противника, но при возможности выбирайте SHA-256 или современную альтернативу.

Во многих существующих Git-репозиториях SHA-1 служит идентификатором объектов, а смена формата затрагивает все идентификаторы и интеграции. Реализации Git также применяют обнаружение коллизий, а для миграции существует формат репозитория SHA-256. Это не делает SHA-1 подходящим для новых универсальных систем безопасности: речь идёт о совместимости и специальных защитных мерах Git.

Нет. SHA-1 — односторонняя функция: для неё не существует декриптора или ключа расшифровки, восстанавливающего исходный текст. Можно лишь предположить исходное значение, вычислить его хеш и сравнить результат. Так иногда находят короткие или предсказуемые значения, но это перебор, а не обратное преобразование. Коллизия и восстановление исходных данных — разные задачи.

Расчёт SHA-1 выполняется локально в браузере через Web Crypto API: текст не отправляется на сервер для хеширования. Не вводите секретные данные на чужом или недоверенном устройстве и в браузере, которому не доверяете.

MD5 выдаёт 128 бит и имеет практические атаки на коллизии. SHA-1 выдаёт 160 бит и также уязвим к практическим коллизиям. SHA-256 выдаёт 256 бит, и практических атак на коллизии или поиск прообраза для него не известно. Для старой совместимости используйте требуемый алгоритм, а для новых критичных к безопасности систем выбирайте SHA-256 или более стойкий вариант.

Не храните пароли в виде обычного SHA-1. Алгоритм намеренно работает быстро, поэтому злоумышленник может быстро перебирать варианты, а слабость к коллизиям не даёт никаких преимуществ. Используйте поддерживаемую реализацию Argon2id, scrypt, bcrypt или PBKDF2 с уникальной случайной солью и подходящими параметрами вычислительной сложности.

Скорее всего, сервисы хешируют разные байты. Проверьте регистр букв, начальные и конечные пробелы, табуляцию, переводы строк, нормализацию Unicode, а также формат данных в другом сервисе: обычный текст, hex, Base64 или файл. Этот генератор воспринимает ввод как текст и кодирует его в UTF-8 перед хешированием.

Этот сервис хеширует текст из поля ввода и не читает загруженные файлы. Если вставить имя файла, будет рассчитан хеш самого имени, а не содержимого. Для проверки старой контрольной суммы SHA-1 используйте программу, которая читает байты файла, и сравните её 40-значный результат со значением из доверенного источника. Если доступна современная сумма, предпочитайте SHA-256.
Связанные инструменты

Генератор HMAC

Рассчитайте HMAC для текста с секретным ключом прямо в браузере.

SHA3-512 Hash Generator

Рассчитайте SHA3-512 hash из текста локально в браузере.