Простой и безопасный генератор паролей для командной строки. Реализован на Python и Go для сравнения подходов.
Пет-проект, демонстрирующий реализацию одной функциональности на разных языках. Оба варианта предоставляют идентичный функционал и CLI интерфейс.
- 🎲 Криптографически стойкие пароли
- 📏 Настройка длины (от 4 символов)
- 🔤 Гибкая настройка типов символов (буквы, цифры, спецсимволы)
- 🎨 Кастомные наборы символов
- 🎯 Предустановленные режимы (простой/сложный)
- 📊 Генерация нескольких паролей
- 🚫 Исключение похожих символов (0, O, l, 1, I)
- 💾 Сохранение паролей в файл
- 🔍 Проверка силы пароля
- 🎮 Интерактивный режим
- 🎲 Diceware - запоминающиеся пароли из слов
- 💻 Простой CLI интерфейс
cli-password-generator/
├── Python/ # Python реализация
├── Go/ # Go реализация
└── README.md
Подробная документация в папках Python и Go.
cd Python
python password_generator.py -l 16 -c 3 -o passwords.txtТребования: Python 3.6+
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 | Компилируемый |
| Читаемость | Отличная | Хорошая |
- Изучение реализации CLI утилит
- Сравнение подходов Python и Go
- Практика работы с парсингом аргументов, генерацией случайных данных, файловыми операциями
- Сохранение паролей в файл
- Проверка силы пароля
- Кастомные наборы символов
- Интерактивный режим
- Генерация запоминающихся паролей (diceware)
- Веб-версия с API
- Rust реализация
MIT