curldl.util.crypt module#

Cryptographic utilities for internal use

class curldl.util.crypt.Cryptography[source]#

Bases: object

Cryptographic utilities

FILE_CHUNK_BYTES = 8388608#
static get_available_digests() list[str][source]#

Returns list of fixed-size digest algorithms in hashlib. Uses hashlib.algorithms_guaranteed because hashlib.algorithms_available may result in runtime errors due to deprecated algorithms being hidden by OpenSSL.

Returns:

guaranteed algorithms in hashlib that produce a fixed-size digest

Return type:

list[str]

classmethod verify_digest(path: str | PathLike[str], algo: str, digest: str) None[source]#

Verify file digest and raise ValueError in case of mismatch.

Parameters:
Raises:

ValueErrordigest has incorrect length or fails verification