Калькулятор SHA-хешів та контрольних сум
Що таке криптографічний хеш?
Криптографічна хеш-функція перетворює вхідні дані будь-якого розміру в рядок фіксованої довжини (дайджест). Властивості: детермінованість (однакові вхідні дані → однаковий хеш), однобічність (не можна відновити вхідні дані з хешу), лавинний ефект (зміна одного біта повністю змінює хеш), стійкість до колізій (практично неможливо знайти два різних входи з однаковим хешем).
Порівняння алгоритмів
MD5 — 128 біт, швидкий, але небезпечний (відомі колізії). Використовуйте лише для перевірки цілісності, не для безпеки. SHA-1 — 160 біт, застарілий для безпеки. SHA-256 — 256 біт, частина SHA-2, стандарт для більшості застосунків. SHA-512 — 512 біт, повільніший, але стійкіший для систем де важлива максимальна безпека. SHA-3 — принципово інша архітектура (Keccak).
Практичне застосування
Верифікація цілісності завантажених файлів (ISO, пакети ПЗ). Зберігання паролів у базі даних — але використовуйте bcrypt/Argon2, не SHA напряму. Цифровий підпис документів. HMAC (Hash-based Message Authentication Code) для верифікації повідомлень API. Git використовує SHA-1 (переходить на SHA-256) для ідентифікації об'єктів.
Хешування паролів
Для паролів не використовуйте SHA напряму — він занадто швидкий, що полегшує brute-force атаки. Використовуйте bcrypt, Argon2 або scrypt — вони спеціально сповільнені. Обов'язково додавайте унікальну «сіль» (salt) до кожного пароля перед хешуванням для захисту від rainbow table атак.