середа, 11 лютого 2026 р.

Хешування даних. Практична робота



Мета роботи:

  • ознайомитися з поняттям хешування;

  • навчитися створювати хеші за допомогою стандартних алгоритмів;

  • навчитися застосовувати хешування для перевірки цілісності даних та паролів.


Теоретичні відомості (коротко)

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

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

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

  • різні дані → різні хеші;

  • неможливо відновити початкові дані з хешу;

  • навіть незначна зміна даних сильно змінює хеш.

Приклади алгоритмів хешування:

  • MD5 (застарілий)

  • SHA-1 (застарілий)

  • SHA-256

  • SHA-512


Вимоги до творчих відповідей

Творча відповідь повинна:

  1. Пояснювати суть хешування власними словами, а не копіювати визначення з підручника чи інтернету.

  2. Містити приклад або аналогію з повсякденного життя
    (наприклад: замок, відбиток пальця, сейф, шифр, пароль, м’ясорубка тощо).

  3. Бути логічною та зрозумілою для інших учнів.

  4. Мати обсяг 2–5 речень.

Практична частина (Python)

Для виконання використовуйте середовище:

Thonny

Завдання 1. Створення SHA-256 хешу

Скопіюйте та запустіть код:

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

Зробіть:

  1. Введіть будь-яке слово.

  2. Запишіть отриманий хеш.

  3. Змініть 1 символ — порівняйте результат.

Висновок записати до зошита


Завдання 2. Перевірка цілісності даних

import hashlib text1 = input("Введіть перший текст: ") text2 = input("Введіть другий текст: ") h1 = hashlib.sha256(text1.encode()).hexdigest() h2 = hashlib.sha256(text2.encode()).hexdigest() if h1 == h2: print("Тексти однакові") else: print("Тексти різні")

Зробіть:

  • Введіть два однакові тексти.

  • Введіть два різні тексти.

Поясніть результат, записати до зошита


Завдання 3. Хешування пароля

import hashlib password = input("Створіть пароль: ") hashed_password = hashlib.sha256(password.encode()).hexdigest() print("Збережений хеш пароля:", hashed_password)

Питання:

  1. Чому не можна зберігати паролі у відкритому вигляді?

  2. Чому безпечніше зберігати хеш?

відповіді записати до зошита

Завдання 4. Міні-система перевірки пароля

import hashlib correct_hash = hashlib.sha256("12345".encode()).hexdigest() user = input("Введіть пароль: ") user_hash = hashlib.sha256(user.encode()).hexdigest() if user_hash == correct_hash: print("Доступ дозволено") else: print("Доступ заборонено")

Змініть:

  • пароль "12345" на власний.

Висновок записати до зошита

Контрольні питання

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

  2. Де використовується хешування?

  3. Чим хешування відрізняється від шифрування?

  4. Наведіть приклади алгоритмів хешування.

Відповіді записати до зошита
Роботу в зошиті фотографуємо та відправляємо на електронну пошту: informgry@gmail.com

Критерії оцінювання (12 балів)

РівеньОписБали
ПочатковийВиконано 1–2 завдання1–3
СереднійВиконано 3 завдання4–6
ДостатнійВиконано всі завдання7–9
ВисокийТворчі відповіді10–12




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

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