Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

password-manager

Локальный менеджер паролей с шифрованием базы данных.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

🛡️ Менеджер паролей

Безопасный оффлайн менеджер паролей, написанный на Delphi. Позволяет пользователям надежно хранить, генерировать и управлять учетными данными с использованием современных криптографических стандартов. Все данные хранятся локально и шифруются, гарантируя, что ваша конфиденциальная информация никогда не покинет ваше устройство.

⚠️ Отказ от ответственности

Данный программный модуль является учебным курсовым проектом.

Хотя в проекте используются современные и признанные криптографические алгоритмы (через библиотеку libsodium), он не проходил независимый профессиональный аудит безопасности. Приложение не предназначено для хранения критически важных, финансовых или реальных чувствительных данных в производственной среде. Используйте данное ПО исключительно в ознакомительных целях и на свой страх и риск.

✨ Возможности

  • 🔐 Архитектура Zero-Knowledge: Мастер-пароль никогда не хранится в открытом виде. База данных полностью зашифрована локально.
  • 🛡️ Современный криптографический стек:
    • bcrypt для безопасного хеширования пароля входа в систему.
    • Argon2id для надежного вывода мастер-ключа шифрования.
    • XChaCha20-Poly1305 (AEAD) для шифрования самой базы учетных данных.
  • ⏱️ Автоблокировка и управление сессиями: Автоматический выход и затирание ключей шифрования из памяти через 10 минут бездействия.
  • 🎲 Генератор надежных паролей: Создание сложных паролей, соответствующих строгим требованиям безопасности (от 16 символов, разный регистр, цифры, спецсимволы).
  • 🔍 Мгновенный поиск и сортировка: Быстрая фильтрация хранилища или сортировка записей по алфавиту.
  • 👁️ Маскирование паролей: Переключение видимости паролей в один клик.
  • 💾 Автосохранение: Изменения автоматически шифруются и сохраняются на диск.

🏗️ Архитектура

Безопасность — это ядро данного приложения. Криптографический конвейер спроектирован для защиты как от кражи базы данных, так и от брутфорс-атак:

  1. Аутентификация (bcrypt): При создании профиля мастер-пароль входа хешируется с помощью bcrypt перед сохранением в users.dat. Это защищает от атак по радужным таблицам и обеспечивает безопасную проверку учетных данных.
  2. Вывод ключа (Argon2id): После успешного входа мастер-пароль пропускается через Argon2id (с помощью libsodium) вместе с уникальной криптографической солью. Так формируется 256-битный мастер-ключ шифрования. Argon2id устойчив к ASIC/GPU брутфорсу благодаря высоким требованиям к памяти.
  3. Шифрование данных (XChaCha20-Poly1305): Полученный мастер-ключ используется для шифрования и дешифрования записей с помощью XChaCha20-Poly1305. Этот потоковый шифр с расширенным nonce обеспечивает аутентифицированное шифрование (AEAD), гарантируя конфиденциальность и целостность данных.
  4. Безопасность памяти: Мастер-ключ хранится в ОЗУ только во время активной сессии. Он надежно затирается (SecureZero) сразу после выхода, тайм-аута сессии или закрытия приложения.

📥 Установка

Приложение распространяется в виде готового инсталлятора для Windows.

  1. Перейдите на страницу Releases (Релизы) этого репозитория.
  2. Скачайте последнюю версию PasswordManagerSetup.exe.
  3. Запустите установщик и следуйте инструкциям на экране.
  4. Запустите приложение через ярлык на рабочем столе или меню «Пуск».

Примечание: Установщик автоматически включает все необходимые зависимости, включая libsodium.dll.

💻 Системные требования

  • ОС: Windows 7 или новее (x64)
  • ЦП: Intel Pentium 4 или эквивалент
  • ОЗУ: 2 ГБ
  • Свободное место на диске: 200 МБ

🚀 Использование

  1. Первый запуск: Нажмите «Начать работу», чтобы создать новый профиль пользователя.
  2. Мастер-пароль: Придумайте надежный мастер-пароль. Он должен содержать не менее 16 символов, включая заглавные и строчные буквы, цифры и специальные символы. (Совет: используйте встроенную кнопку «Сгенерировать безопасный пароль»!)
  3. Добавление записей: В главной панели просто кликните по любой ячейке, чтобы добавить название сервиса, логин и примечание.
  4. Сохранение паролей: Кликните по ячейке в столбце «Пароль» для нужного сервиса, чтобы открыть безопасный редактор паролей. Сгенерируйте или введите пароль и нажмите «Готово».
  5. Поиск: Используйте строку поиска сверху для мгновенной фильтрации хранилища по названию сервиса, логину или примечаниям.

📄 Лицензия

Этот проект лицензирован под MIT License - подробности в файле LICENSE.

🙏 Использованные ресурсы и благодарности

Особая благодарность авторам следующих ресурсов, которые помогли сделать интерфейс и функционал этого проекта лучше:

Иконки и графика

Библиотеки