PPGT-GEN is a convenient local web application for using the PagPassGPT model, replacing the complex Command Line Interface (CLI) usage. The application provides a user-friendly interface for:
- Password Generation: Using PagPassGPT model to generate intelligent passwords
- Password Strength Checking: Analyzing and evaluating password security
- Entropy Analysis: Measuring randomness and unpredictability of passwords
- Pattern Checking: Detecting patterns and rules in passwords
- Model Evaluation: Comparing effectiveness of different models
- Python 3.8+
- Flask
- PyTorch
- Transformers
- Other dependencies (see
requirements.txt)
git clone https://github.com/WanThinnn/PPGT-GEN.git
cd PPGT-GENpip install -r requirements.txtTo obtain the model and dataset for training, please refer to the original project:
PagPassGPT Original Repository
- Download the preprocessed RockYou dataset from the original project
- Copy the entire dataset to the directory:
Dataset directory structure:
PPGT-GEN/dataset/dataset/ ├── rockyou-cleaned.txt └── [other dataset files]
- After training the model from the original project, you will have a
last-stepdirectory - Copy the entire
last-stepdirectory to:Model directory structure:PPGT-GEN/model/last-step/model/ └── last-step/ ├── config.json ├── generation_config.json ├── optimizer.pt ├── pytorch_model.bin ├── rng_state.pth ├── scheduler.pt ├── trainer_state.json └── training_args.bin
python app.pyThe application will run at: http://localhost:5000
- Path:
/ppgt_gen - Function: Generate passwords using PagPassGPT model
- Options: Configure length, patterns, and password generation parameters
- Path:
/strength_checker - Function: Check and evaluate password strength
- Features: Detailed analysis of security factors
- Path:
/entropy_checker - Function: Analyze password entropy (randomness)
- Features: Measure unpredictability
- Path:
/pattern_checker - Function: Detect and analyze patterns in passwords
- Features: Identify common rules and patterns
- Path:
/evaluate_checker - Function: Evaluate and compare model effectiveness
- Features: Statistics and analysis charts
PPGT-GEN/
├── app.py # Main Flask application
├── requirements.txt # Dependencies
├── README.md # This documentation
├── patterns.txt # Pattern files
├── app.log # Log file
├── dataset/ # Dataset directory
│ └── rockyou-cleaned.txt
├── model/ # Model directory
│ └── last-step/
├── libanalyst/ # Analysis library
│ ├── password_strength_checker.py
│ ├── password_entropy_checker.py
│ ├── password_pattern_checker.py
│ └── password_evaluate_checker.py
├── libppgt/ # PPGT core library
│ ├── __init__.py
│ ├── concat_pattern_password.py
│ ├── DC-GEN.py
│ ├── get_pattern_rate.py
│ ├── normal-gen.py
│ └── tokenizer/
├── templates/ # HTML templates
│ ├── index.html
│ ├── ppgt_gen.html
│ ├── strength_checker.html
│ ├── entropy_checker.html
│ ├── pattern_checker.html
│ └── evaluate_checker.html
└── static/ # CSS & JS files
├── css/
└── js/
GET /- Main pageGET /ppgt_gen- Password GeneratorGET /strength_checker- Strength CheckerGET /entropy_checker- Entropy CheckerGET /pattern_checker- Pattern CheckerGET /evaluate_checker- Evaluate Checker
POST /api/generate_password- Generate passwordsPOST /api/check_strength- Check strengthPOST /api/analyze_entropy- Analyze entropyPOST /api/check_pattern- Check patternsPOST /api/evaluate_model- Evaluate model
- Lại Quan Thiên - WanThinnn
- Mai Nguyễn Nam Phương - Mai Nguyen Nam Phuong - Cyber Security
- Trần Thế Hữu Phúc - tranthehuuphuc
- Hồ Diệp Huy - hohuyy
- Original Project: PagPassGPT
- Issues: Create an issue on this GitHub repository
- Documentation: See additional documentation in the docs/ folder
- Thanks to the PagPassGPT development team for the original model and dataset
- Thanks to the open source community for contributions and support
Security Note: Only use this application in a local environment and do not share the model or dataset externally without proper permissions.