A command-line utility that generates secure, phrase-based passwords using cat names and Kolmogorov complexity analysis with a lolcat theme.
- 1000+ Embedded Cat Names - No external file dependencies
- Secure Password Generation - Creates passwords from 3-5 cat names with configurable length (15-50 characters)
- Advanced Security Transformations:
- 3 letters randomly capitalized
- Configurable numbers inserted randomly (1-10, default: 3-5)
- Configurable symbols replacing letters (1-10, default: 2)
- Removes repeating letters with random digits
- Kolmogorov Complexity Analysis - Evaluates and selects the most secure password from 5 candidates
- Lolcat Theme - ASCII art and professional interface without emojis
- Configurable Parameters - Control numbers, symbols, and maximum length
- Clipboard Support - Copy to clipboard (macOS only)
- Self-Contained Executable - Single binary with embedded data
# Clone the repository
git clone https://github.com/SpaceTrucker2196/MeowPassword.git
cd MeowPassword
# Build and install as system command
./build_production.sh
./install.sh
# Now use from anywhere!
meowpass# Build using alternative script
./build.sh
# Use locally
./meowpassmeowpassmeowpass --numbers 4 --symbols 3 --max-length 30meowpass --testmeowpass --copymeowpass --help| Option | Description | Default |
|---|---|---|
--numbers N |
Number of random numbers to insert (1-10) | 3-5 |
--symbols N |
Number of symbols to insert (1-10) | 2 |
--max-length N |
Maximum password length (15-50) | 25 |
--test |
Run comprehensive tests | - |
--copy |
Copy password to clipboard (macOS only) | - |
--help |
Show help message | - |
The project includes multiple build options:
build_production.sh- Recommended production build with 1000 embedded cat namesbuild.sh- Alternative build script with comprehensive testingMakefile- Advanced build system with multiple targetsinstall.sh- System-wide installation script
Both build scripts work as documented:
# Test production build
./build_production.sh && ./meowpass --test
# Test alternative build
./build.sh && ./meowpass --testmake build # Build executable
make test # Build and test
make install # Install system-wide (requires sudo)
make clean # Clean build artifacts
make demo # Run demonstration
make help # Show help- Load Cat Names - Uses embedded 1000+ cat names (no external files required)
- Select Names - Randomly picks 3-5 cat names
- Create Base Phrase - Joins names within length constraints
- Apply Transformations:
- Random capitalization (3 letters)
- Number insertion (configurable, default 3-5)
- Symbol replacement (configurable, default 2)
- Remove repeating letters (replace with digits)
- Generate 5 Candidates - Repeat process 5 times
- Analyze Complexity - Use Kolmogorov complexity metrics
- Select Best - Choose password with highest complexity score
Evaluates passwords using multiple metrics:
- Shannon Entropy - Character distribution randomness
- Compression Resistance - Algorithmic complexity approximation
- Pattern Uniqueness - Substring repetition analysis
- Character Diversity - Usage of different character types
- Length Normalization - Accounts for password length
Each step is implemented as a separate, testable function:
loadCatNames()- Loads embedded cat namesselectRandomCatNames(from:count:)- Random name selectioncreateBasePhrase(from:maxLength:)- Base phrase creation with length controlrandomlyCapitalizeLetters(in:count:)- Capitalization transformationinsertRandomNumbers(into:count:)- Number insertionreplaceLettersWithSymbols(in:count:)- Symbol replacementremoveRepeatingLetters(in:)- Duplicate removalgenerateSecurePassword(from:config:)- Complete password generationanalyzeComplexity(of:)- Kolmogorov complexity analysis
- Swift 5.0+
- macOS/Linux compatible
- No external dependencies (pure Foundation)
The installer automatically chooses the best location:
/usr/local/bin(system-wide, requires sudo)~/.local/bin(user-specific)~/bin(fallback)
main.swift- Core implementation with comprehensive documentationbuild_production.sh- Production build script (recommended)build.sh- Alternative build scriptinstall.sh- Installation scriptMakefile- Advanced build systemcatNamesText.txt- Source cat names file (16,926 names)embedded_production.swift- Generated embedded names (1000 names)
Run comprehensive tests to verify all functionality:
# Test embedded cat name loading
# Test password generation with all security transformations
# Test Kolmogorov complexity analysis
# Test configuration parameter handling
./meowpass --testThe project follows a simple, testable architecture with comprehensive documentation. All functions are isolated and can be tested independently. Each function includes detailed comments explaining its purpose and parameters.