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

SHA-1 (Secure Hash Algorithm 1) создает 160-битный отпечаток ("хеш") сообщения.

Легендарный SHA-1: Взлет и падение

SHA-1 (Secure Hash Algorithm 1) — это хеш-функция, которая правила интернетом почти два десятилетия. Разработанная АНБ (NSA) в 1995 году, она стала стандартом де-факто для SSL-сертификатов, цифровых подписей и систем контроля версий.

Однако сегодня SHA-1 официально "мертв" для криптографических задач. Тем не менее, он остается важным инструментом для проверки целостности и legacy-систем.


Атака SHAttered: Почему Google убил SHA-1?

Долгое время считалось, что найти два разных файла с одинаковым SHA-1 хешем (коллизию) невозможно. Но в 2017 году исследователи из Google и CWI Amsterdam доказали обратное в проекте SHAttered.

Они создали два разных PDF-документа — один легитимный контракт, а другой поддельный — которые имели абсолютно идентичный SHA-1 хеш. Это означало конец эры доверия к SHA-1.


Где SHA-1 используется до сих пор?

1. Git и контроль версий

Самый известный пример — система Git. Каждый коммит в вашем репозитории идентифицируется именно SHA-1 хешем (40 символов). Линус Торвальдс выбрал его не для безопасности от хакеров, а для защиты от случайного повреждения данных. (Примечание: Git постепенно переходит на SHA-256).

2. Проверка целостности (Checksums)

Когда вы скачиваете файлы (особенно драйверы или дистрибутивы Linux), рядом часто указан SHA-1. Он отлично подходит, чтобы убедиться: "Файл скачался полностью, ни один бит не потерян".

3. Старые базы данных

Многие legacy-системы до сих пор хранят хеши паролей или идентификаторы записей в формате SHA-1.


Технические характеристики

  • Длина хеша: 160 бит (20 байт).
  • Формат вывода: Строка из 40 шестнадцатеричных символов.
  • Размер блока: 512 бит.
  • Семейство: MD5 → SHA-0 → SHA-1 → SHA-2.

Часто задаваемые вопросы (FAQ)

Можно ли расшифровать SHA-1?

Нет. Как и любой хеш, это односторонняя функция. Но из-за слабых мест его можно "взломать" перебором (brute-force) или по радужным таблицам быстрее, чем современные алгоритмы.

Почему он выдает 40 символов?

Потому что 160 бит = 20 байт. В hex-формате (шестнадцатеричном) каждый байт кодируется 2 символами. 20 * 2 = 40 символов.

Что использовать вместо него?

Для паролей: Argon2 или Bcrypt.
Для файлов и подписей: SHA-256 (золотой стандарт) или SHA-512.