Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Менеджер паролей (Password Manager)

Консольное приложение на Go для безопасного хранения и управления аккаунтами (логин, пароль, URL) с возможностями поиска, удаления и подсчёта записей.


Описание

Приложение реализует простой менеджер паролей с использованием локального JSON-файла для хранения данных. Пароли шифруются перед сохранением для повышения безопасности. Поддерживаются основные операции:

Добавление нового аккаунта Поиск аккаунтов по URL и логину Удаление аккаунта по URL Просмотр количества сохранённых аккаунтов


Технологии

Go (Golang)
Локальная база данных в виде JSON-файла (data.vault), с возможностью расширения для работы с БД
Шифрование паролей (пакет encrypter)
Цветной вывод в консоли (github.com/fatih/color)
Загрузка конфигурации из .env (github.com/joho/godotenv)

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

  • Клонируйте репозиторий:

      git clone https://github.com/DKuzibaev/PasswordSaver.git
      cd PasswordSaver
    
  • Создайте файл .env в папке configs с необходимыми переменными окружения: Сгенерируйте ключ шифрования (256 бит) по ссылке: https://acte.ltd/utils/randomkeygen Скопируйте сгенерированный ключ и добавьте его в файл configs/.env в следующем формате:

    KEY=ваш_сгенерированный_ключ_256_бит
    

Запустите приложение:

go run cmd/password-saver/main.go

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

После запуска приложение отображает меню с доступными действиями:

  1. Создать аккаунт — ввод логина, пароля и URL.
  2. Найти аккаунт по URL — поиск всех аккаунтов, URL которых содержат введённую строку.
  3. Найти аккаунт по логину — поиск всех аккаунтов по совпадению логина.
  4. Удалить аккаунт по URL — удаление аккаунта по точному URL.
  5. Показать количество сохранённых аккаунтов — отображение общего числа аккаунтов.
  6. Выход — завершение работы программы.

Структура проекта

PasswordSaver/
├── bin/                # Компилированные бинарные файлы (если есть)
├── cmd/                # Входные точки приложения (main.go и прочие)
├── configs/            # Конфигурационные файлы, включая .env
├── internal/           # Внутренние пакеты проекта (бизнес-логика)
│   ├── account/        # Логика работы с аккаунтами, валидация
│   ├── cloud/          # (пустой или для будущей интеграции с облаком)
│   ├── encrypter/      # Шифрование и дешифрование паролей
│   ├── files/          # Работа с файловой системой и хранением данных (JSON)
│   └── output/         # Вывод сообщений и обработка ошибок
├── data.vault          # Файл с зашифрованными аккаунтами (локальная база)
├── .gitignore          # Игнорируемые файлы Git
├── go.mod              # Модули Go
├── go.sum              # Контрольные суммы зависимостей
└── README.md           # Документация проекта

Особенности

Хранение данных в JSON-файле с автоматическим созданием при отсутствии. Простая и удобная консольная навигация с цветным интерфейсом. Использование функциональных коллбеков для поиска. Обработка ошибок с информативными сообщениями для пользователя.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages