Skip to content

Repository files navigation

Многопоточный XOR Шифратор (C++/Qt)

Приложение для быстрого потокового шифрования файлов. Написано на нативном Qt без использования .ui форм

Технический стек:

  • Многопоточность (QThread): Вся тяжёлая работа вынесена в отдельный поток XorWorker.
  • Потоковый конвейер: Файлы читаются и пишутся фиксированными блоками по 64 КБ.
  • XOR-оптимизация (64-бит): Данные внутри буфера обрабатываются блоками по 8 байт за такт через приведение указателя reinterpret_cast<quint64*>. Хвосты файлов добиваются побайтово.
  • Контроль пауз и отмены: Реализовано усыпление потока через QWaitCondition. При отмене процесса недописанный файл сразу удаляется с диска через QFile::remove
  • Автоматизация и защита от зацикливания: В режиме таймера и разового запуска реализован умный перебор файлов. Использован QSet<QString>, файлы не шифруются по кругу, дубли исключены.

Сборка

  1. Открыть XorEncryptor.pro в Qt Creator.
  2. Переключить в Release (обязательно для включения оптимизации цикла компилятором).
  3. Собрать (Ctrl + B).

About

тестовое задание для НПО Колибри

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages