Середовище для програмування 1
Середовище для програмування 2
Python проти хробака Морріса.
Безпечний цифровий простір
Вітаю! Сьогодні вивчаємо створення створення програм, які б не перевантажували пам'ять комп'ютера
Крок 1: Python проти хробака Морріса
Переповнення буфера, яке вважається однією з найбільш стійких вразливостей у сфері програмного забезпечення, є серйозною загрозою безпеки систем і часто використовується зловмисниками для здійснення атак. Воно виникає, коли дані записуються за межі буфера фіксованої довжини, що може призвести до пошкодження даних, виконання шкідливого коду або збою програми.
Крок 2: Приклад
Хоча Python дає змогу створювати масиви та керувати ними різними способами, при використанні масиву попередньо визначеного розміру програма може видавати IndexError, щоб уникнути переповнення буфера:
У цьому коді помилка IndexError може виникати або не виникати залежно від кількості введених елементів:
Крок 3: Завдання
___________________________________________
Уроки 63, 64
05.05.2026
Словники та списки.
Криптографічні бібліотеки Python
Вітаю! Сьогодні працюємо із символьними даними
Крок 1: Словники та списки
Для роботи з наборами даних Python надає такі вбудовані типи: списки, кортежі, множини та словники.
👉Списки
Список — це тип даних, який зберігає набір або послідовність елементів.
👉Словники
Словник є типом даних, який базується на відображенні пар типу (ключ: значення).
Приклад словника:
Крок 2: Шифр Атбаш (зворотній шифр) з використанням списку
🔑 Розшифруйте повідомлення XSVXPBLFIKZHHDLIW та надішліть відповідь.
Крок 3: Криптографічна бібліотека
Бібліотека cryptography містить криптографічні алгоритми, такі як симетричні шифри, дайджести повідомлень і функції виведення ключів.
Симетрична криптографія
Щоб зашифрувати щось за алгоритмом симетричного шифрування, достатньо імпортувати бібліотеку та викликати метод генерації ключа.
Повідомлення буде зашифровано методом encrypt:
Для розшифровки повідомлення можна використовувати метод decrypt:
Крок 4: Завдання
на 8 балів - виконай завдання із Крок 2
на 12 балів 👇
▶️ Виконайте завдання:
- Перевірте роботу програми.
- Додайте коментарі до кожного рядка з поясненням, що саме виконується.
- Знайдіть, які ще методи є в бібліотеці cryptography.
- Попрацюйте з запитами до нейронної мережі щодо інших методів та протестуйте запропоновані коди.
Уроки 61, 62
28.04.2026
Рядки. Кодування текстової інформації
Вітаю! Сьогодні працюємо із символьними даними
Крок 1: Рядки
Рядки — це об’єкти, що складаються з послідовності символьних даних. Рядок можна вводити або ініціалізувати (присвоїти значення):
Що можна робити із рядковими змінними?
Є багато методів, які дають змогу робити з рядками всі можливі операції: копіювання, поєднання, пошук, зміну регістра, перевірку на тип даних тощо.
Крок 2: Приклади використання методів роботи з рядками
3. reversed()
Функція reversed() просто перевертає рядок.
Приклад:
print("--- Професійний Дешифратор Повідомлень ---")
user_input = input("Введіть зашифровані коди (через дефіс, наприклад 72-105): ")
if not user_input:
print("Помилка: рядок порожній!")
else:
try:
codes_list = user_input.split("-")
decoded_message = ""
for code in codes_list:
clean_code = code.strip()
decoded_message += chr(int(clean_code))
print("\n[РЕЗУЛЬТАТ РОЗШИФРУВАННЯ]")
print(f"Повідомлення: {decoded_message}")
except ValueError:
print("Помилка: переконайтеся, що ви вводите лише числа, розділені дефісом.")
print(f"Розшифроване повідомлення: {decoded_message}")
Що тут закодовано:
72-97-99-107-32-116-104-101-32-112-108-97-110-101-116
80-121-116-104-111-110-32-105-115-32-115-97-102-101
Створи власний пароль і обміняйся повідомленнями з однокласниками:
for i in range(65, 91): # Латинські літери від A до Z
print(f"Число {i} відповідає символу {chr(i)}")
Крок 3: Кодування текстової інформації
У версії мови Python усі рядки є послідовностями символів Кожному символу відповідає одне число, і кожному числу відповідає один символ.
Python не підтримує символьний тип, символ розглядається як рядок з довжиною 1. Усі символи в рядку індексовані з 0. Доступ до символів здійснюється за допомогою індексів.
Для визначення символу і його коду можна використовувати функції:
ord — код символу;
chr — символ по коду.
Приклад:
char = input("Введіть одну літеру для тесту: ")
secret_code = ord(char) + 1
secret_char = chr(secret_code)
print(f"Оригінал: {char} -> Код: {ord(char)}")
print(f"Зашифровано: {secret_char} -> Код: {secret_code}")
Крок 4: Завдання
Напишіть програму, яка розшифровує повідомлення: "CRYPTOGRAPHY"
def decrypt_caesar_cipher(text, shift=1):
decrypted_text = ""
for char in text:
if char.isalpha():
ascii_offset = ord('a') if char.islower() else ord('A')
decrypted_text += chr((ord(char) - ascii_offset - shift) % 26 + ascii_offset)
else:
decrypted_text += char
return decrypted_text
encrypted_word = "CRYPTOGRAPHY"
decrypted_word = decrypt_caesar_cipher(encrypted_word, shift=1)
print(f"The decrypted word is: {decrypted_word}")
ПРАКТИЧНА РОБОТА
______________________________________________________
Уроки 59, 60
21.04.2026
Умови. Цикли
Вітаю! Сьогодні пригадуємо алгоритми опису умов та циклів у Python, також застосовуємо їх для створення програм з кібербезпеки
Крок 1: Умови
Часто у програмуванні виникає ситуація, коли за певних обставин необхідно виконати одні дії, а за інших обставин — інші. У такому випадку використовується умовний оператор.
Умови можуть бути короткої, повної або складеної форми.
Для побудови складніших умовних конструкцій використовуються поєднання умов та логічних операцій.
Python дуже вибагливий до відступів і пробілів, бо саме так він об’єднує команди у групи (блоки).
В умовних конструкціях, порівнюючи, використовують оператор «==», а не «=».
Крок 2: Цикли
Для повторення команд і блоків команд використовують цикли. Це не просто робить код коротким й структурованим, але й дає змогу запрограмувати процеси, що повторюються за певних умов або певну кількість разів.
Скриншот роботи програми надішли на електронну скриньку teacheritschool1@gmail.com
____________________________________________
Уроки 57, 58
14.04.2026
Мови програмування для кібербезпеки.
Змінні
Вітаю! Сьогодні починаємо вивчення третьої теми "Програмування для кібербезпеки". У фільмах про хакерів можна побачити сцени, де кібергеній вводить щось на чужому комп’ютері, а тоді в один момент усі проблеми вирішені! Пароль підібрано, сайт зламано, гроші прямо через принтер з банку падають у руки. При цьому хакеру десь років 14 і він все вивчимо сам, бо в нього хороший інтернет.
- З якими даними працює програма (що на вході)?
- Що має бути на виході програми (вихідні дані)?
- Які є обмеження по швидкості виконання програми та обчислювальним ресурсам?
- Як це зробити, враховуючи дані обмеження?
«Забули пароль?»
У цьому прикладі ми перевіряємо, чи збігаються два введені паролі. Опісля повідомляємо результат користувачу. У коді описана ситуація, коли паролі мають однакове значення. Допишіть варіант виконання, коли вони не будуть однаковими.









Немає коментарів:
Дописати коментар