Skip to main content

Simplified hashing helpers for strings, files, and checksums

Project description

philiprehberger-hash-utils

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.0.tar.gz (3.4 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.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for philiprehberger_hash_utils-0.1.0.tar.gz
Algorithm Hash digest
SHA256 84f3b062b9790e26dc4376756d86f08c8e44dd12f71e4ab551ff95e78332ef00
MD5 90f4e79b931836f5d0aab2a90a0081c8
BLAKE2b-256 4c51ebcefb7cbf0e4d2062795710b740f7e960ee7e19fb7efcc2c86ec83c25c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for philiprehberger_hash_utils-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8928a4847e7bbb079ca49c0ffb5d3a2c45f2502d8091d8fc24c961aa99af902d
MD5 71dc2b5ddfa1e54f11c82c5dfd9a00b7
BLAKE2b-256 6d30daf99d52dff75127acaa2e81edede9f1b42158a88170ab53d13ab3d17626

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