doFolder.hashing package

Module contents

This module provides comprehensive functionality for calculating cryptographic hashes of files and byte content with support for caching, chunked reading, and multithreaded processing.

The module is designed to handle both small and large files efficiently, automatically choosing between in-memory and streaming approaches based on file size thresholds.

It provides the underlying support for the File.hash method.

Added in version 2.2.3.

Changed in version 2.3.0: hashing is now a subpackage, instead of submodule.

Submodules

doFolder.hashing.cache module

File hash cache management systems for persistent and in-memory result storage.

This module provides abstract and concrete implementations of cache managers that can store and retrieve FileHashResult objects to avoid redundant hash calculations.

Added in version 2.3.0.

doFolder.hashing.calculate module

Core cryptographic hash calculation functions for files and byte content.

This module provides the fundamental hash calculation functionality with support for multiple algorithms, chunked processing, and both memory and streaming I/O modes.

Added in version 2.3.0.

doFolder.hashing.calculator module

Advanced file hash calculators with caching and multithreading capabilities.

This module provides FileHashCalculator and ThreadedFileHashCalculator classes that offer intelligent caching, configurable recalculation policies, and parallel processing for efficient batch file hashing operations.

Added in version 2.3.0.

doFolder.hashing.executor module

Executor module providing progress-aware thread pool execution capabilities.

This module implements a thread pool executor with built-in progress tracking functionality. It includes progress controllers, future wrappers, and utility functions for managing asynchronous tasks with progress reporting.

doFolder.hashing.util module

Utility types, constants, and data structures for the hashing package.

This module defines common data types like FileHashResult, default configuration constants, and utility functions used throughout the hashing subsystem.

Added in version 2.3.0.