Прошу не судить слишком строго, всё-таки первая статья на Хабре как-никак :) В этой статье я расскажу, как создать программу для шифрования своих личных данных, с небольшой изюминкой в реализации. Возможно это не так надёжно как полное шифрование диска до загрузки ОС, за то что-то новое. Представим такую ситуацию: на вашем компьютере хранятся очень важные и компрометирующие вас данные, а в вашу дверь кто-то ломится. Ваша задача заключается в том, что бы быстро и незаметно зашифровать всю важную информацию на своём компьютере. Для этого понадобится всего-лишь отключить заранее подготовленную флешку (карту памяти) из своего компьютера, после чего программа работавшая до этого в фоновом режиме автоматически начнёт процесс шифрования выделенных данных. Вам остаётся лишь надёжнее спрятать флешку с ключом шифрования) Теперь попытаемся перенести описанную выше программу в реальный мир. В качестве языка программирования я выбрал Python. Во-первых, он удобен для этих целей, а во-вторых, я знаю его лучше всех остальных. Для начала создадим программу для шифрования. Установим библиотеку cryptography: Далее импортируем в нашу программу все необходимые библиотеки: После этого создадим переменные с буквой нашей флешки и путём к папке файлы в которой необходимо зашифровать. В моём случае буква диска — E. Так же необходимо написать функцию которая будет проверять, подключена ли флешка к компьютеру или нет. Я долго думал как реализовать эту функцию лучше всего. По итогу пришёл к такому варианту: Далее создадим функции создания и чтения ключа шифрования: Как вы видите ключ создаётся и читается именно на диске E:/, то есть на флешке. Это означает что вынув её из компьютера, доступ к зашифрованным файлам останется только у вас. Так же создадим две функции для шифрования и расшифровки наших файлов. В качестве аргументов они будут принимать имя файла и ключ шифрования. Теперь самое интересное. Напишем функцию, с помощью которой наша программа будет перемещаться по директориям и шифровать файлы. Для начала определим список файлов и папок в текущей директории с помощью функции os.listdir(). Дальше пройдёмся по ранее полученному списку и определим тип каждого элемента: файл или папка. Если это файл — шифруем его, если папка — запускаем нашу функцию повторно по новому пути. Ну и последний штрих. Если файл key.txt не найден на флешке, создаём его. Далее читаем из него ключ и сохраняем его в переменной key. После создаём бесконечный цикл проверки подключения флешки и если наша программа обнаружит что флешка отключена будет инициализирована функция walk(), в качестве аргумента передаём ей директорию, файлы и папки в которой нужно зашифровать: Теперь, по похожей логике создадим программу для расшифровки наших данных. Она будет читать ключ из файла key.txt, которых хранится на нашей флешке: Мы создали две программы: одна работает в скрытом режиме и проверяет подключена ли флешка к компьютеру, в ином случае программа автоматически шифрует выделенные данные, сохраняя ключ шифрования на нашу флешку. Вторая программа необходима для расшифровки этих самых данных с помощью сохранённого ключа на флешке. Так же, программу можно добавить в автозагрузку, что бы не запускать её каждый раз при запуске компьютера вручную. Теперь, всё что вам остаётся сделать, так это вставить свою флешку в компьютер, включить программу для шифрования наслаждаться пресловутой безопасностью :-)