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.
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.
- Fork the repository
- Create a new branch
- Make your changes
- 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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28e19b8440f3832461da18c8ef39afcbcb61dec0de3d975c05539215792b3236
|
|
| MD5 |
6b1d67ca7bb9fa005e7742a2acf0fe99
|
|
| BLAKE2b-256 |
c949a9f1b9a6059a40952ac314bb4e2b7b9afd78c2a919480e8e532c588c04a8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3524f8b278518a9b20dc4e6836a30018650720f8fee992aba73fd003672148dc
|
|
| MD5 |
8bb38e641e26f26d64753df28d47f6c7
|
|
| BLAKE2b-256 |
52dcf9536e1a95bc061092026f1072bc48a14f51f729e1b448c1f4d8d94ca0a1
|