Один из методов защиты информации — это стеганография, техника, использующая невидимые элементы для скрытия секретных данных в более привычных для восприятия объектах, таких как изображения.
Как это работает:
🔵 Метод LSB (Least Significant Bit) изменяет наименее значимые биты пикселей изображения для кодирования сообщения. Эти изменения обычно незаметны для человеческого глаза.🔵 Изображение со скрытым сообщением выглядит практически идентично оригиналу, но содержит дополнительную информацию.
Установка библиотеки:
pip install stegano
Пример:
from stegano import lsb
# Скрытие секретного сообщения в изображении
secret = lsb.hide('image.png', 'Your secret message')
# Сохранение изображения со скрытым сообщением
secret.save('secret_img.png')
# Извлечение скрытого сообщения из изображения
print(lsb.reveal('secret_img.png'))
# Вывод → Your secret message
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4👀4
This media is not supported in your browser
VIEW IN TELEGRAM
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4😁4
httpdbg — это легковесная утилита, которая позволяет отслеживать все HTTP-запросы, отправляемые вашим кодом.
Установка библиотеки:
pip install httpdbg
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3
🤯8👍7🔥4😁3👀3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18❤1👀1
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Это порядок, в котором разработчик пишет SQL-запрос.
Он начинается с SELECT, затем указываются таблицы (FROM), соединения (JOIN), условия (WHERE), группировки (GROUP BY), фильтрации после группировки (HAVING), сортировки (ORDER BY) и ограничения количества строк (LIMIT).
Это порядок, в котором SQL-сервер фактически выполняет запрос.
Он начинается с выбора таблиц (FROM), затем выполняет соединения (JOIN), применяет условия соединения (ON), фильтрует строки (WHERE), группирует данные (GROUP BY), фильтрует группы (HAVING), выбирает столбцы (SELECT), сортирует результаты (ORDER BY) и, наконец, ограничивает количество строк (LIMIT).
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
😁9❤2👍2
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
😁13🔥8👍2
Списки сохраняют порядок, а множества — нет.
Списки могут содержать дубликаты, а множества — нет.
Списки полностью изменяемы, а множества могут изменяться только в плане добавления/удаления элементов.
Списки используют [], а множества — {}.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3❤1
- Используются невидимые символы Unicode (`\u200b`, `\u200c`).
- Они кодируют биты сообщения (0 и 1) прямо в тексте.
- Файл выглядит обычным, но содержит скрытую информацию.
- Скрытие:
def hide_message(text, message):
binary = ''.join(format(ord(char), '08b') for char in message)
return ''.join([char + ('\u200b' if bit == '0' else '\u200c') for char, bit in zip(text, binary)])
- Извлечение:
def extract_message(hidden_text):
binary = ''.join(['0' if char == '\u200b' else '1' for char in hidden_text if char in ('\u200b', '\u200c')])
return ''.join([chr(int(binary[i:i+8], 2)) for i in range(0, len(binary), 8)])
- Скрываем:
hide_message("Привет", "секрет").
- Извлекаем:
extract_message(скрытый_текст)
→ "секрет".✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👀5❤3