A powerful and flexible command-line password generator
Project description
🔐 CipherSmith
A powerful and flexible command-line password generator that helps you create strong, secure passwords with ease. Built with security and usability in mind! 🚀
✨ Features
- 🎯 Generate cryptographically secure passwords
- 🔄 Customizable length and complexity
- 🎨 Include or exclude special characters, numbers, and uppercase letters
- 📋 Copy generated passwords to clipboard
- 💾 Save passwords to an encrypted file (optional)
- 🖥️ Command-line interface for easy integration into scripts
- 🔍 Password strength analysis
- 🏷️ Tag and organize passwords
- 📊 Password generation statistics
- 🔒 Secure storage using SQLite with encryption
🚀 Quick Start
Prerequisites
- Python 3.9 or higher
- pip (Python package installer)
Installation
From PyPI (Recommended)
pip install CipherSmith
From Source
git clone https://github.com/Amul-Thantharate/CipherSmith.git
cd CipherSmith
pip install -e .
Development Installation
git clone https://github.com/Amul-Thantharate/CipherSmith.git
cd CipherSmith
pip install -r requirements.txt
pip install -e .[dev]
🎮 Usage
Basic Password Generation
# Generate a default secure password
CipherSmith generate
# Generate a password with specific length
CipherSmith generate --length 16
# Generate a password with specific requirements
CipherSmith generate --uppercase 2 --lowercase 6 --digits 2 --special 2
# Generate multiple passwords
CipherSmith generate --count 5
# Save passwords to file
CipherSmith generate --save passwords.txt --count 3
Advanced Features
# Generate a memorable password
CipherSmith generate --memorable
# Check password strength
CipherSmith check "YourPassword123"
Password Management
# View password history
CipherSmith history
# Search passwords
CipherSmith search "github"
# View statistics
CipherSmith stats
📚 Documentation
For detailed documentation, visit our Documentation Page.
Common topics:
🔧 Configuration
CipherSmith can be configured using:
- Command-line arguments
- Configuration file (~/.CipherSmith/config.yaml)
- Environment variables
Example configuration:
default_length: 16
include_special: true
save_directory: "~/passwords/"
encryption_key_file: "~/.CipherSmith/key"
🛡️ Security
- Uses Python's
secretsmodule for cryptographically secure random generation - Implements industry-standard password security practices
- Regular security audits and updates
- No cloud storage - all data stays local
- Optional file encryption using Fernet (symmetric encryption)
🤝 Contributing
We love your input! We want to make contributing to CipherSmith as easy and transparent as possible. Please see our Contributing Guidelines for details.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👥 Author
Amul Thantharate (amulthantharate@gmail.com)
🌟 Support
If you find CipherSmith useful, please consider:
- Giving it a star on GitHub ⭐
- Sharing it with friends and colleagues
- Contributing to its development
- Reporting issues and suggesting features
📊 Project Status
- ✅ Actively maintained
- 🔄 Regular updates
- 📈 Growing community
- 🐛 Quick bug fixes
📞 Contact
- Email: amulthantharate@gmail.com
- GitHub Issues: Report a bug
- Twitter: @AmulThantharate
⭐ Acknowledgments
- Thanks to all contributors
- Inspired by best practices in password security
- Built with Python's excellent cryptography libraries
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ciphersmith-0.1.0.tar.gz.
File metadata
- Download URL: ciphersmith-0.1.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c87ce16084966e92143642869259eef46909679996dc7ad2336cfac7e8b918ad
|
|
| MD5 |
9ff20444b526896fa8c599899d275dce
|
|
| BLAKE2b-256 |
7380e3067712d034b8b626debe0f517b1880be0fe0f4b74e716844028e6915de
|
Provenance
The following attestation bundles were made for ciphersmith-0.1.0.tar.gz:
Publisher:
publish-python-package.yml on Amul-Thantharate/CipherSmith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciphersmith-0.1.0.tar.gz -
Subject digest:
c87ce16084966e92143642869259eef46909679996dc7ad2336cfac7e8b918ad - Sigstore transparency entry: 150467439
- Sigstore integration time:
-
Permalink:
Amul-Thantharate/CipherSmith@573fbdaaaa202246bca3c13962ef01ab026b6953 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Amul-Thantharate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-package.yml@573fbdaaaa202246bca3c13962ef01ab026b6953 -
Trigger Event:
push
-
Statement type:
File details
Details for the file CipherSmith-0.1.0-py3-none-any.whl.
File metadata
- Download URL: CipherSmith-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71207e911926ca9c2e85e12d012f528c2c901c256413ba81518efe4a8a3569ad
|
|
| MD5 |
ec2c3dc7662faa03c5e71af411e2e9e8
|
|
| BLAKE2b-256 |
3e8f54dc26d51037bd9dcae5f9eacdd042b9ecdde3ea4ac2f6ba142e94146e3b
|
Provenance
The following attestation bundles were made for CipherSmith-0.1.0-py3-none-any.whl:
Publisher:
publish-python-package.yml on Amul-Thantharate/CipherSmith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciphersmith-0.1.0-py3-none-any.whl -
Subject digest:
71207e911926ca9c2e85e12d012f528c2c901c256413ba81518efe4a8a3569ad - Sigstore transparency entry: 150467440
- Sigstore integration time:
-
Permalink:
Amul-Thantharate/CipherSmith@573fbdaaaa202246bca3c13962ef01ab026b6953 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Amul-Thantharate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-package.yml@573fbdaaaa202246bca3c13962ef01ab026b6953 -
Trigger Event:
push
-
Statement type: