Это простое GUI-приложение на Python (PyQt6) для шифрования и дешифрования текста с использованием библиотеки PyNaCl (совместимо с libsodium). Оно работает в режиме симметричного шифрования: один и тот же ключ используется для шифрования и дешифрования.

Шифрование и Дешифрование Текста (Sodium Compatible)

Установка и Запуск

  1. Убедитесь, что у вас установлен Python 3 (рекомендуется 3.8+).
  2. Запустите файл RUN_Sodium_Compatible.bat (он автоматически проверит и установит зависимости: PyQt6, PyNaCl).
  3. Если батник не сработал, вручную установите пакеты: pip install PyQt6 pynacl.
  4. Запустите скрипт: python Sodium_Compatible.py.

Приложение откроется в окне с тёмной темой.

Как Пользоваться

  • Интерфейс:

    • Вверху: Поле для ввода ключа шифрования (пароль, скрытый режим ввода). Ключ обязателен для любых операций.
    • Слева (синий блок): Дешифрование — вставьте зашифрованный текст, нажмите "Дешифровать". Результат ниже.
    • Справа (зелёный блок): Шифрование — вставьте текст, нажмите "Шифровать". Результат ниже.
    • Кнопки "Скопировать" для копирования результатов в буфер.
    • Внизу: Логи с timestamp (зелёный — успех, красный — ошибка). Кнопки для очистки логов и всех полей.
  • Шифрование:

    1. Введите ключ.
    2. В правом блоке введите текст.
    3. Нажмите "Шифровать".
    4. Получите base64-строку (nonce + ciphertext).
  • Дешифрование:

    1. Введите тот же ключ.
    2. В левом блоке вставьте base64-строку.
    3. Нажмите "Дешифровать".
    4. Получите оригинальный текст (если ключ верный; иначе ошибка).

Ключ Шифрования (Важно!)

  • Ключ — это ваш пароль (строка любой длины). Он хэшируется в 256-битный ключ с помощью SHA-256.
  • Запомните ключ! Он не сохраняется в приложении. Без него дешифрование невозможно.
  • Используйте один и тот же ключ для шифрования и дешифрования одного текста.
  • Рекомендации: Делайте ключ сложным (буквы, цифры, символы, >12 символов). Не используйте простые пароли.
  • Безопасность: Шифрование стойкое (XSalsa20 + Poly1305), но ключ — слабое звено. Не передавайте ключ открыто.

Ошибки

  • "Ключ не может быть пустым" — введите ключ.
  • "Текст не может быть пустым" — заполните поле.
  • "Ошибка дешифрования" — неверный ключ или повреждённый текст.

Приложение не хранит данные, всё локально.

Архив: Sodium_Compatible.zip