Сторінки

четвер, 12 лютого 2026 р.

Хешування даних




1. Що таке хешування?

Хешування — це процес перетворення вхідних даних будь-якої довжини у рядок фіксованої довжини, який називається хешем.

Хеш-функція:

Вхідні дані → Хеш-функція → Хеш

Приклад:

Пароль: 123456 Хеш: e10adc3949ba59abbe56e057f20f883e

Навіть незначна зміна у вхідних даних повністю змінює хеш.



2. Навіщо потрібне хешування?

Хешування застосовується для:

  • 🔑 безпечного зберігання паролів

  • 🛡 захисту інформації

  • ✔ перевірки цілісності даних

  • 📦 контролю цілісності файлів

  • 🔍 швидкого пошуку в базах даних

  • 🧬 цифрових підписів та криптографії

  • ⛓ блокчейну


3. Основні властивості хеш-функцій

Якісна хеш-функція повинна мати такі властивості:

ВластивістьОпис
ДетермінованістьОднакові дані → однаковий хеш
НезворотністьНеможливо відновити оригінал з хешу
Стійкість до колізійДуже малоймовірно, що різні дані дадуть однаковий хеш
Лавинний ефектМаленька зміна → повністю інший хеш
Швидкість обчисленняХеш рахується швидко

4. Що таке колізія?

Колізія — це ситуація, коли різні дані мають однаковий хеш.

Дані 1 → Хеш X Дані 2 → Хеш X

Ідеальна хеш-функція повинна зводити ймовірність колізій до мінімуму.


5. Популярні алгоритми хешування

АлгоритмДовжина хешуБезпечність
MD5128 біт❌ небезпечний
SHA-1160 біт❌ застарілий
SHA-256256 біт✔ безпечний
SHA-512512 біт✔ дуже безпечний
bcryptзмінна✔ оптимальний для паролів
Argon2змінна✔ сучасний стандарт

MD5 та SHA-1 не можна використовувати для зберігання паролів!


✅Приклад 1. Створити SHA-256 хеш введеного тексту

import hashlib text = input("Введіть текст: ") hash_value = hashlib.sha256(text.encode()).hexdigest() print("SHA-256 хеш:", hash_value)

✅ Приклад 2. Перевірка пароля

import hashlib password = input("Створіть пароль: ") hash_pass = hashlib.sha256(password.encode()).hexdigest() print("Хеш збережено:", hash_pass) check = input("Введіть пароль для перевірки: ") hash_check = hashlib.sha256(check.encode()).hexdigest() if hash_pass == hash_check: print("✅ Пароль правильний") else: print("❌ Пароль неправильний")

Практична робота: Створити презентацію «Хешування даних» (10 слайдів)


Слайд 1. Титульний

Тема: Хешування даних

Клас: 
Прізвище та ім’я:

Зображення, як ви собі уявляєте Хешування даних.


Слайд 2. Що таке хешування?

  • Хешування — це перетворення даних у короткий унікальний код (хеш)

  • Хеш — це цифровий відбиток інформації

  • Однакові дані → однаковий хеш

  • Мінімальна зміна → зовсім інший хеш

Приклад:
пароль123 → a94f3e7...


Слайд 3. Навіщо потрібне хешування?

  • 🔑 Безпечне зберігання паролів

  • 🛡 Захист інформації

  • ✔ Перевірка цілісності даних

  • 📦 Контроль цілісності файлів

  • 🔍 Швидкий пошук

  • 🧬 Криптографія

  • ⛓ Блокчейн


Слайд 4. 🔑 Безпечне зберігання паролів

  • Сайти не зберігають пароль, а лише його хеш

  • Навіть адміністратор не бачить пароль

  • Захист від зламу баз даних

Схема:
Пароль → Хеш → Збереження


Слайд 5. 🛡 Захист інформації

  • Хешування допомагає:

    • виявляти підробки

    • захищати дані від змін

  • Використовується в:

    • банках

    • електронному документообігу

    • державних системах


Слайд 6. ✔ Перевірка цілісності даних

  • Якщо дані змінили → хеш зміниться

  • Дозволяє:

    • виявити пошкодження файлів

    • перевірити правильність передачі

Приклад:
Оригінал → Хеш А
Змінений файл → Хеш Б


Слайд 7. 📦 Контроль цілісності файлів

  • Завантаження програм

  • Оновлення систем

  • Антивіруси

Приклад:
Сайт публікує хеш файлу → користувач перевіряє → файл безпечний


Слайд 8. 🔍 Швидкий пошук у базах даних

  • Хешування прискорює пошук

  • Застосовується в:

    • Google

    • соцмережах

    • інтернет-магазинах


Слайд 9. 🧬 Цифрові підписи, криптографія, ⛓ блокчейн

  • Цифровий підпис — підтверджує автора

  • Криптографія — захищає дані

  • Блокчейн — кожен блок має хеш → неможливо підробити


Слайд 10. Висновки

  • Хешування — основа кібербезпеки

  • Захищає:

    • паролі

    • файли

    • транзакції

  • Без хешування сучасний інтернет неможливий



Відправити презентацію вчителю на електронну пошту: informgry@gmail.com


Немає коментарів:

Дописати коментар