Skip to content

Console password manager with strong AES-128 encryption. Simple, fast, secure (консольный менеджер паролей с шифрованием AES-128).

License

Notifications You must be signed in to change notification settings

sagittarius-H/PasswordManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Консольный менеджер паролей 🔏

Это реализация консольного менеджера паролей на языке Python3. Все пароли сайтов сохраняются в базе данных Sqlite в зашифрованном и засоленном виде. Шифрование выполняется с помощью симметричного алгоритма AES-128 c мастер паролем, для добавления или получения любого пароля сайта используется один пароль (мастер пароль). Он задаётся один раз при добавлении самого первого сайта, в дальнейшем для добавления новых сайтов можно использовать только его.

⚙️ Сейчас менеджер имеет следующий функционал ⚙️:

  • ✏️ Добаление информации для нового сайта и его пароля.
  • 🗑️ Удаление сайта и его информации о пароле.
  • 📝 Редактирование информации о сайте.
  • 🔎 Поиск пароля сайта в базе и вывод его на консоль при правильном вводе мастер пароля.
  • 💳 Генерацию паролей заданной длины (минимально 8 символов и >=128).
  • ⏱️ Возможность проверять устаревание паролей при поиске. Если пароль был обновлён больше 3х месяцев назад, то пользователю будет выдано предупреждение с рекомендацией обновить пароль сайта.
  • 💾 Возможность выполнить синхронизацию паролей через Google Drive (необходимо отдельно установить клиента и указать путь до его исполняемого файла, папки синхронизации в файле sync.ini).
  • 🤸‍♂️ Возможность изменить мастер пароль.
  • 📖 Свободный просмотр всех добавленных сайтов.

Вопросы безопасности:

Первый значимый аспект - для криптографии используется библиотека cryptography. Её исходный код есть в свободном доступе, желающие могут изучить его на наличие уязвимостей. В текущий момент времени, в 2024 году, нет известных критических уязвимостей для новых версий этой библиотеки, чтобы можно было сказать о слабом шифровании. Однако нельзя исключать 0-day, будущих уязвимостей.

Второй аспект влияющий на безопасность - симметричное шифрование AES использующее один ключ (мастер пароль), т.е. он тоже может являться слабым звеном. Глупо в качестве мастер пароля использовать "qwerty", мастер пароль должен быть достаточно сложным.

Третий аспект влияющий на безопасность - криптографические данные и пароли от сайтов могут оставаться в оперативной памяти в открытом виде пока открыта программа.

About

Console password manager with strong AES-128 encryption. Simple, fast, secure (консольный менеджер паролей с шифрованием AES-128).

Resources

License

Stars

Watchers

Forks

Packages

No packages published