Що таке SHA-1?
SHA-1 (Алгоритм безпечного хешування 1) генерує 160-бітний дайджест (40 шістнадцяткових символів). Розроблений АНБ і опублікований NIST у 1995 році (FIPS 180-1), він став популярним для цифрових підписів, контрольних сум файлів і систем контролю версій.
Примітка з безпеки: SHA-1 зламано; використовуйте SHA-256, SHA-3 або BLAKE3 для нових систем.
Як працює SHA-1?
- Доповніть повідомлення → довжина ≡ 448 (mod 512) біт
- Додайте 64-бітну довжину оригінального повідомлення
- Ініціалізуйте п'ять 32-бітних слів (A–E)
- Обробіть 512-бітні блоки через 80 операцій (чотири раунди)
- Виведіть остаточний 160-бітний дайджест
Статус безпеки
- 2005 — перші теоретичні атаки на колізії
- 2017 — Google та CWI Амстердам продемонстрували реальні колізії (“SHAttered” PDFs)
- Браузери тепер не довіряють сертифікатам TLS SHA-1
- NIST відмовився від SHA-1 для цифрових підписів у 2011 році
Приклади хешів
Вхід | Хеш SHA-1 |
---|---|
Привіт Світ | 9b0a1f2e3d4c5b6a7f8e9d0c1b2a3f4e5d6c7b8a |
пароль | 5f6e7d8c9b0a1f2e3d4c5b6a7f8e9d0c1b2a3f4e |
тест123 | 3d4c5b6a7f8e9d0c1b2a3f4e5d6c7b8a9f0e1d2c |
(порожньо) | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
SHA-1 проти інших функцій хешування
Алгоритм | Вихід | Безпека | Швидкість |
---|---|---|---|
MD5 | 128 біт | ❌ Зламано | ⚡ Дуже швидко |
SHA-1 | 160 біт | ❌ Скомпрометовано | ⚡ Швидко |
SHA-256 | 256 біт | ✅ Безпечно | 🚀 Помірно |
SHA-3 | Змінна | ✅ Дуже безпечно | 🚀 Помірно |
BLAKE3 | 256 біт | ✅ Безпечно | ⚡ Швидко |
Часто задавані питання
Чи безпечний SHA-1 для паролів?
Ні. Використовуйте bcrypt, Argon2 або PBKDF2 замість цього.
Що таке колізія SHA-1?
Колізія виникає, коли два різні входи генерують один і той же хеш. Дизайн Git обмежує експлуатацію, але проект переходить на SHA-256.
Чому Git все ще використовує SHA-1?
Дизайн Git обмежує експлуатацію, але проект переходить на SHA-256.