1. Що таке хешування?
Хешування — це процес перетворення вхідних даних будь-якої довжини у рядок фіксованої довжини, який називається хешем.
Хеш-функція:
Приклад:
Навіть незначна зміна у вхідних даних повністю змінює хеш.
2. Навіщо потрібне хешування?
Хешування застосовується для:
-
🔑 безпечного зберігання паролів
-
🛡 захисту інформації
-
✔ перевірки цілісності даних
-
📦 контролю цілісності файлів
-
🔍 швидкого пошуку в базах даних
-
🧬 цифрових підписів та криптографії
-
⛓ блокчейну
3. Основні властивості хеш-функцій
Якісна хеш-функція повинна мати такі властивості:
| Властивість | Опис |
|---|---|
| Детермінованість | Однакові дані → однаковий хеш |
| Незворотність | Неможливо відновити оригінал з хешу |
| Стійкість до колізій | Дуже малоймовірно, що різні дані дадуть однаковий хеш |
| Лавинний ефект | Маленька зміна → повністю інший хеш |
| Швидкість обчислення | Хеш рахується швидко |
4. Що таке колізія?
Колізія — це ситуація, коли різні дані мають однаковий хеш.
Ідеальна хеш-функція повинна зводити ймовірність колізій до мінімуму.
5. Популярні алгоритми хешування
| Алгоритм | Довжина хешу | Безпечність |
|---|---|---|
| MD5 | 128 біт | ❌ небезпечний |
| SHA-1 | 160 біт | ❌ застарілий |
| SHA-256 | 256 біт | ✔ безпечний |
| SHA-512 | 512 біт | ✔ дуже безпечний |
| bcrypt | змінна | ✔ оптимальний для паролів |
| Argon2 | змінна | ✔ сучасний стандарт |
⚠ MD5 та SHA-1 не можна використовувати для зберігання паролів!
6. Хешування ≠ Шифрування
| Хешування | Шифрування |
|---|---|
| Незворотне | Зворотне |
| Не має ключа | Має ключ |
| Для перевірки | Для приховування |
| Паролі, підписи | Файли, повідомлення |
Приклад:
-
Паролі — хешують
-
Документи — шифрують
7. Як правильно зберігати паролі?
❌ Неправильно:
✅ Правильно:
Salt — це випадковий рядок, який додається до пароля для захисту від атак словником.
8. Де застосовується хешування?
-
Авторизація користувачів
-
Захист баз даних
-
Контроль цілісності файлів (SHA256)
-
Блокчейн (Bitcoin, Ethereum)
-
Антивіруси
-
Електронний цифровий підпис
9. Приклад роботи хеш-функції
👉 Навіть одна велика літера повністю змінює результат.
10. Висновок
Хешування — це основа сучасної кібербезпеки. Без нього неможливо уявити:
-
захист облікових записів
-
безпечні платежі
-
цифрові підписи
-
блокчейн
Методи хешування + практична робота на Python (10 клас)
1. Основні методи (алгоритми) хешування
🔹 MD5
-
Довжина хешу: 128 біт
-
Швидкий, але небезпечний
-
❌ Не використовується для паролів
🔹 SHA-1
-
Довжина: 160 біт
-
❌ Застарілий, небезпечний
🔹 SHA-256
-
Довжина: 256 біт
-
✔ Безпечний, сучасний стандарт
🔹 SHA-512
-
Довжина: 512 біт
-
✔ Дуже високий рівень безпеки
🔹 bcrypt (для паролів)
-
Спеціально для захисту паролів
-
✔ Дуже надійний
(опціонально для поглибленого рівня)
2. Практична робота: Хешування тексту в Python
🎯 Мета:
Навчитися створювати хеші для тексту та порівнювати їх.
✅ Завдання 1. Створити SHA-256 хеш введеного тексту
✅ Завдання 2. Перевірка пароля
✅ Завдання 3. Порівняння різних алгоритмів
3. Міні-проєкт для учнів
🔹 Програма «Захист паролів»
Функції:
-
створення хешу пароля
-
перевірка правильності введення
Немає коментарів:
Дописати коментар