Skip to main content

Convenience hashing facilities.

Project description

Convenience hashing facilities.

Latest release 20241207: BaseHashCode.hashclass: raise ValueError from unknown hash function name with greater detail on the underlying failure.

Class BaseHashCode(builtins.bytes)

Base class for hashcodes, subclassed by SHA1, SHA256 et al.

You can obtain the class for a particular hasher by name, example:

SHA256 = BaseHashCode.hashclass('sha256')

BaseHashCode.__str__(self): Return f'{self.hashname}:{self.hex()}'.

BaseHashCode.from_buffer(bfr: cs.buffer.CornuCopyBuffer): Compute hashcode from the contents of the CornuCopyBuffer bfr.

BaseHashCode.from_data(bs): Compute hashcode from the data bs.

BaseHashCode.from_fspath(fspath, **kw): Compute hashcode from the contents of the file fspath.

BaseHashCode.from_hashbytes(hashbytes): Factory function returning a BaseHashCode object from the hash bytes.

BaseHashCode.from_hashbytes_hex(hashhex: str): Factory function returning a BaseHashCode object from the hash bytes hex text.

BaseHashCode.from_named_hashbytes_hex(hashname, hashhex): Factory function to return a HashCode object from the hash type name and the hash bytes hex text.

BaseHashCode.from_prefixed_hashbytes_hex(hashtext: str): Factory function returning a BaseHashCode object from the hash bytes hex text prefixed by the hashname. This is the reverse of __str__.

BaseHashCode.get_hashfunc(hashname: str): Fetch the hash function implied by hashname.

BaseHashCode.hashclass(hashname: str, hashfunc=None, **kw): Return the class for the hash function named hashname.

Parameters:

  • hashname: the name of the hash function
  • hashfunc: optional hash function for the class

BaseHashCode.hashname: The hash code type name, derived from the class name.

BaseHashCode.hex(self) -> str: Return the hashcode bytes transcribes as a hexadecimal ASCII str.

BaseHashCode.promote(obj): Promote to a BaseHashCode instance.

Class MD5(BaseHashCode)

Hash class for the 'md5' algorithm.

MD5.hashfunc

Class SHA1(BaseHashCode)

Hash class for the 'sha1' algorithm.

SHA1.hashfunc

Class SHA224(BaseHashCode)

Hash class for the 'sha224' algorithm.

SHA224.hashfunc

Class SHA256(BaseHashCode)

Hash class for the 'sha256' algorithm.

SHA256.hashfunc

Class SHA384(BaseHashCode)

Hash class for the 'sha384' algorithm.

SHA384.hashfunc

Class SHA512(BaseHashCode)

Hash class for the 'sha512' algorithm.

SHA512.hashfunc

Release Log

Release 20241207: BaseHashCode.hashclass: raise ValueError from unknown hash function name with greater detail on the underlying failure.

Release 20240412:

  • BaseHashCode.hashclass(hashname): fall back to looking for blake3 from the blake3 module.
  • BaseHashCode: new get_hashfunc(hashname) static method.

Release 20240316: Fixed release upload artifacts.

Release 20240211: Initial PyPI release: BaseHashCode(bytes) and subclasses for various hash algorithms.

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

cs_hashutils-20241207.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

cs_hashutils-20241207-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file cs_hashutils-20241207.tar.gz.

File metadata

  • Download URL: cs_hashutils-20241207.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for cs_hashutils-20241207.tar.gz
Algorithm Hash digest
SHA256 f2d6609e64fa7ba7e1a8034b865420342cfaa3e6c73ab7afc5aeed96cb39c880
MD5 b0a92f82eede8aea3dec851efcb9c785
BLAKE2b-256 8377b60d41ddf3385b55830567ba4cc456c52c557ec896475601f5aefed94324

See more details on using hashes here.

File details

Details for the file cs_hashutils-20241207-py3-none-any.whl.

File metadata

File hashes

Hashes for cs_hashutils-20241207-py3-none-any.whl
Algorithm Hash digest
SHA256 8da4d430be1c9bd2664e8c053b709670db259c2042f25cef4e2762f2b7ffa8da
MD5 99be768cf1f909892aea3f1c6862751e
BLAKE2b-256 c29dcda9bfc048500f69e25d8a512fba9caeeddb2105f8816093dc5d0d333749

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