Skip to main content

A powerful and flexible command-line password generator

Project description

🔐 CipherSmith

PyPI version Python Versions License: MIT Downloads Code style: black

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 secrets module 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.

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. 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

⭐ 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

ciphersmith-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

CipherSmith-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

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

Hashes for ciphersmith-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c87ce16084966e92143642869259eef46909679996dc7ad2336cfac7e8b918ad
MD5 9ff20444b526896fa8c599899d275dce
BLAKE2b-256 7380e3067712d034b8b626debe0f517b1880be0fe0f4b74e716844028e6915de

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciphersmith-0.1.0.tar.gz:

Publisher: publish-python-package.yml on Amul-Thantharate/CipherSmith

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for CipherSmith-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71207e911926ca9c2e85e12d012f528c2c901c256413ba81518efe4a8a3569ad
MD5 ec2c3dc7662faa03c5e71af411e2e9e8
BLAKE2b-256 3e8f54dc26d51037bd9dcae5f9eacdd042b9ecdde3ea4ac2f6ba142e94146e3b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page