Skip to main content

A lightweight Python library for hashing text and files using multiple cryptographic algorithms.

Project description

PyHashKit

A lightweight Python library and CLI for hashing text and files using multiple cryptographic algorithms.

PyPI version Python versions License


Features

  • 🔐 Hash text strings
  • 📄 Hash files of any size
  • 💻 Built-in CLI support
  • ⚡ Supports multiple algorithms
  • 📦 Zero dependencies
  • 🐍 Python 3.8+
  • 🚀 Lightweight and fast

Why PyHashKit?

PyHashKit provides a simple and beginner-friendly interface for Python's built-in hashing functionality.

Instead of manually working with hashlib, you can hash text and files with a single function call or directly from the command line.


Supported Algorithms

PyHashKit supports most algorithms available through Python's built-in hashlib.

Common examples:

  • SHA-256
  • SHA-512
  • SHA-224
  • SHA-384
  • MD5
  • SHA-1
  • SHA3-224
  • SHA3-256
  • SHA3-384
  • SHA3-512
  • BLAKE2b
  • BLAKE2s

Not Supported

The following algorithms are currently not supported:

  • SHAKE-128 (shake_128)
  • SHAKE-256 (shake_256)

These algorithms require a custom digest length and are intentionally excluded to keep the API simple and consistent.


Installation

pip install PyHashKit

Quick Start

from pyhashkit import hash_text, hash_file

print(hash_text("Hello World"))
print(hash_file("example.txt"))

Command Line Interface (CLI)

PyHashKit includes a built-in command-line interface for hashing text and files directly from your terminal.

Available Commands

text         Hash a text string
file         Hash a file
commands     Show all commands

Flags

-v, -V, --version
             Show version information

Options

-a, --algorithm
             Specify hashing algorithm
             (default: sha256)

Examples

Hash text:

pyhashkit text "Hello World"

Hash text using MD5:

pyhashkit text "Hello World" -a md5

Hash a file:

pyhashkit file example.txt

Hash a file using SHA-512:

pyhashkit file example.txt -a sha512

Show version information:

pyhashkit -v

Show all available commands:

pyhashkit commands

Python API

Hash Text

from pyhashkit import hash_text

result = hash_text("Hello World")

print(result)

Hash Text Using MD5

from pyhashkit import hash_text

result = hash_text(
    "Hello World",
    algorithm="md5"
)

print(result)

Hash File

from pyhashkit import hash_file

result = hash_file("example.txt")

print(result)

Hash File Using SHA-512

from pyhashkit import hash_file

result = hash_file(
    "example.txt",
    algorithm="sha512"
)

print(result)

Version Information

from pyhashkit import __version__

print(__version__)

Available Exports

from pyhashkit import (
    hash_text,
    hash_file,
    algorithms,
    __version__
)

algorithms

Returns a list of supported hashing algorithms available on the current Python installation.

from pyhashkit import algorithms

print(algorithms())

Example Output

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

Project Structure

PyHashKit/
├── pyhashkit/
│   ├── __init__.py
│   ├── hashing.py
│   ├── cli.py
│   └── version.py
├── tests/
│   └── test_hashing.py
├── pyproject.toml
├── LICENSE
└── README.md

Contributing

Contributions, bug reports, and feature requests are welcome.

  1. Fork the repository
  2. Create a new branch
  3. Make your changes
  4. Submit a pull request

Author

Developed by JackMa

GitHub: https://github.com/Fmasterpro27


Links

Homepage: https://github.com/Fmasterpro27/PyHashKit

Issues: https://github.com/Fmasterpro27/PyHashKit/issues

PyPI: https://pypi.org/project/pyhashkit/


License

Licensed under the Apache License 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

pyhashkit-0.2.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

pyhashkit-0.2.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file pyhashkit-0.2.0.tar.gz.

File metadata

  • Download URL: pyhashkit-0.2.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for pyhashkit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 28e19b8440f3832461da18c8ef39afcbcb61dec0de3d975c05539215792b3236
MD5 6b1d67ca7bb9fa005e7742a2acf0fe99
BLAKE2b-256 c949a9f1b9a6059a40952ac314bb4e2b7b9afd78c2a919480e8e532c588c04a8

See more details on using hashes here.

File details

Details for the file pyhashkit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyhashkit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for pyhashkit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3524f8b278518a9b20dc4e6836a30018650720f8fee992aba73fd003672148dc
MD5 8bb38e641e26f26d64753df28d47f6c7
BLAKE2b-256 52dcf9536e1a95bc061092026f1072bc48a14f51f729e1b448c1f4d8d94ca0a1

See more details on using hashes here.

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