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