Skip to content

alekarah/cli-password-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🔐 CLI Генератор Паролей

Простой и безопасный генератор паролей для командной строки. Реализован на Python и Go для сравнения подходов.

📋 Описание

Пет-проект, демонстрирующий реализацию одной функциональности на разных языках. Оба варианта предоставляют идентичный функционал и CLI интерфейс.

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

  • 🎲 Криптографически стойкие пароли
  • 📏 Настройка длины (от 4 символов)
  • 🔤 Гибкая настройка типов символов (буквы, цифры, спецсимволы)
  • 🎨 Кастомные наборы символов
  • 🎯 Предустановленные режимы (простой/сложный)
  • 📊 Генерация нескольких паролей
  • 🚫 Исключение похожих символов (0, O, l, 1, I)
  • 💾 Сохранение паролей в файл
  • 🔍 Проверка силы пароля
  • 🎮 Интерактивный режим
  • 🎲 Diceware - запоминающиеся пароли из слов
  • 💻 Простой CLI интерфейс

🗂️ Структура

cli-password-generator/
├── Python/              # Python реализация
├── Go/                  # Go реализация
└── README.md

Подробная документация в папках Python и Go.

🚀 Быстрый старт

Python версия

cd Python
python password_generator.py -l 16 -c 3 -o passwords.txt

Требования: Python 3.6+

Go версия

cd Go
go run main.go -l 16 -c 3 -o passwords.txt
# или
go build -o password-generator.exe
./password-generator.exe -l 16

Требования: Go 1.21+

📖 Основные команды

# Базовая генерация
python password_generator.py -l 16

# Несколько паролей
python password_generator.py -l 16 -c 5

# Сохранение в файл
python password_generator.py -l 16 -c 3 -o passwords.txt

# Сложный пароль
python password_generator.py --complex

# Простой пароль (без спецсимволов)
python password_generator.py -s -l 12

# Кастомный набор символов
python password_generator.py -l 10 --custom-chars "abc123!@#"

# Интерактивный режим
python password_generator.py -i

# Diceware пароль (запоминающийся)
python password_generator.py -d

⚙️ Параметры

Параметр Python Go Описание
Длина -l, --length -l Длина пароля (по умолчанию: 12)
Количество -c, --count -c Количество паролей
Сохранить -o, --output -o Сохранить в файл
Проверка силы --show-strength -show-strength Показать оценку силы пароля
Простой режим -s, --simple -s Только буквы и цифры
Сложный режим --complex -complex Все символы, минимум 20
Интерактивный -i, --interactive -i Интерактивный режим
Diceware -d, --diceware -d Запоминающиеся пароли из слов
Справка -h, --help -h Показать справку

Полный список параметров см. в документации версий.

🔍 Сравнение реализаций

Характеристика Python Go
Скорость Средняя Высокая
Размер Интерпретатор ~2 MB бинарник
Зависимости Нет (stdlib) Нет (stdlib)
Установка Требует Python Компилируемый
Читаемость Отличная Хорошая

🎯 Цели проекта

  1. Изучение реализации CLI утилит
  2. Сравнение подходов Python и Go
  3. Практика работы с парсингом аргументов, генерацией случайных данных, файловыми операциями

📝 TODO

  • Сохранение паролей в файл
  • Проверка силы пароля
  • Кастомные наборы символов
  • Интерактивный режим
  • Генерация запоминающихся паролей (diceware)
  • Веб-версия с API
  • Rust реализация

📄 Лицензия

MIT

👨‍💻 Автор

Александра Саганелидзе

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors