Skip to content

DKuzibaev/PasswordSaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages