Skip to main content

A powerful password generator with real-time strength analysis

Project description

🔐 CipherSmith

PyPI version Python Versions License: MIT Code style: black

A powerful CLI password generator with real-time strength analysis and advanced security features. Built with security and usability in mind! 🚀

✨ Features

  • 🎯 Generate cryptographically secure passwords
  • 📊 Real-time password strength analysis using zxcvbn
  • 🔍 Detailed password security feedback and suggestions
  • 📝 Password history tracking with tags and descriptions
  • 🔎 Search through password history
  • 📈 Password generation statistics
  • 🎨 Exclude similar characters option
  • 🛡️ Advanced pattern detection and security analysis

🚀 Quick Start

Prerequisites

  • Python 3.9 or higher
  • pip (Python package installer)

Installation

pip install CipherSmith

Basic Usage

# Generate a secure password
CipherSmith generate

# Generate with specific requirements
CipherSmith generate --uppercase 2 --lowercase 6 --numbers 2 --special-chars 2

# Check password strength
CipherSmith check "your-password-here"

# Check with detailed analysis
CipherSmith check "your-password-here" --verbose

# View password history
CipherSmith history

# Search passwords
CipherSmith search "github"

🔍 Password Strength Analysis

CipherSmith includes advanced password strength analysis:

  • Real-time strength visualization
  • Pattern detection
  • Crack time estimation
  • Security suggestions
  • Comprehensive feedback

Example output:

Password Strength Analysis:
Score: 4/4
Crack Time: 1961.20 seconds
Feedback: Strong password!

Additional Details:
Length: 18
Character Sets: lowercase, uppercase, numbers, special
Patterns Found: None
Suggestions: None

📚 Documentation

For detailed usage examples, see our Demo Guide.

Common topics:

🔧 Dependencies

  • typer>=0.9.0
  • rich>=10.0.0
  • zxcvbn-python>=4.4.24
  • cryptography>=41.0.0
  • sqlalchemy>=2.0.0
  • click>=8.0.0
  • colorama>=0.4.4

📦 Versioning and Releases

When you've added new features or made changes to the code, follow these steps to create a new release:

  1. Update version number in pyproject.toml:

    [tool.poetry]
    version = "x.y.z"  # Increment according to semantic versioning
    
  2. Create and push a new tag:

    # Create a new tag
    git tag -a v1.2.3 -m "Release version 1.2.3"
    
    # Push the tag
    git push origin v1.2.3
    

    Version numbering follows Semantic Versioning:

    • MAJOR version (x) - Incompatible API changes
    • MINOR version (y) - Added functionality (backwards-compatible)
    • PATCH version (z) - Bug fixes (backwards-compatible)
  3. The GitHub Actions workflow will automatically:

    • Build the Python package
    • Sign the package using Sigstore
    • Create a GitHub release
    • Upload the signed distribution packages
  4. The release will be available on:

    • GitHub Releases page
    • PyPI (after successful publication)

Example scenarios:

  • Added new command: v1.1.0
  • Fixed a bug: v1.0.1
  • Breaking change: v2.0.0

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Author

Amul Thantharate (amulthantharate@gmail.com)

🔄 Version

Current version: 1.2.0

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-1.3.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

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

CipherSmith-1.3.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file ciphersmith-1.3.0.tar.gz.

File metadata

  • Download URL: ciphersmith-1.3.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ciphersmith-1.3.0.tar.gz
Algorithm Hash digest
SHA256 67edd56619018421e59587cfae2f298bb0f70e90c7c36beca5fdeaffa186bb3f
MD5 e6a60a77ebd803396467779822f4f6ce
BLAKE2b-256 a81ac020e858db682c28793a38071bc3e4c7c17296280125b00660166d0bb28b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciphersmith-1.3.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-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: CipherSmith-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for CipherSmith-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a6c3d27f6b6653ef842044968844e452c9675a863e4c915a1f13ddabd3f04a
MD5 3730cc9ddbd7c9002478e6379641a3a7
BLAKE2b-256 85018e1497ac29156c69cf95f590dc82ac033d023ed4f95e328d85b36768e168

See more details on using hashes here.

Provenance

The following attestation bundles were made for CipherSmith-1.3.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