Skip to main content

Simplified hashing helpers for strings, files, and checksums

Project description

philiprehberger-hash-utils

Tests PyPI version License

Simplified hashing helpers for strings, files, and checksums.

Installation

pip install philiprehberger-hash-utils

Usage

Hash Strings and Bytes

from philiprehberger_hash_utils import hash_string, hash_bytes

hash_string("hello world")                # SHA-256 hex digest
hash_string("hello world", "md5")         # MD5 hex digest
hash_bytes(b"\x00\x01\x02", "sha512")    # SHA-512 hex digest

Hash Files

from philiprehberger_hash_utils import hash_file

digest = hash_file("large_file.bin")  # Streams in chunks
digest = hash_file("data.csv", algorithm="blake2b")

Hash Dictionaries

from philiprehberger_hash_utils import hash_dict

# Deterministic — key order doesn't matter
hash_dict({"b": 2, "a": 1}) == hash_dict({"a": 1, "b": 2})  # True

Verify Checksums

from philiprehberger_hash_utils import verify_checksum

# Timing-safe comparison
is_valid = verify_checksum("download.zip", expected_sha256)

Supported Algorithms

md5, sha1, sha256 (default), sha512, blake2b

API

  • hash_string(s, algorithm="sha256") — Hash a string
  • hash_bytes(data, algorithm="sha256") — Hash raw bytes
  • hash_file(path, algorithm="sha256", chunk_size=8192) — Hash a file (streaming)
  • hash_dict(d, algorithm="sha256") — Deterministic dict hash
  • verify_checksum(path, expected, algorithm="sha256") — Timing-safe file verification

License

MIT

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

philiprehberger_hash_utils-0.1.3.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

philiprehberger_hash_utils-0.1.3-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file philiprehberger_hash_utils-0.1.3.tar.gz.

File metadata

File hashes

Hashes for philiprehberger_hash_utils-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2d242df4a0960f53566e354e9f8d69f1e8aca5734bc0155bbd9bc88d4f50e046
MD5 3d3a6d3c57d93bc46f98e71cd649f6d1
BLAKE2b-256 89c465da2f3cdd9a9ad25da2974c5f3702e2ddfd27545def69007ea01b0c9738

See more details on using hashes here.

File details

Details for the file philiprehberger_hash_utils-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_hash_utils-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 532be4095830e5d91abe778a7d210acecabfa66a21817d109c65dba925048871
MD5 39cc02a97307d8639af3582aa91c683c
BLAKE2b-256 ec81d8bed84742e9ac606801e546d9442005e9012a1af3ceb2daecc778b7c162

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