Skip to main content Module hash Copy item path Source CheckOptions Options for check mode. CheckResult Result of check mode verification. HashAlgorithm Supported hash algorithms. blake2b_hash_data Hash raw data with BLAKE2b variable output length.
output_bytes is the output size in bytes (e.g., 32 for 256-bit). blake2b_hash_file Hash a file with BLAKE2b variable output length. Single open + fstat.
Uses read() for small files, mmap for large. blake2b_hash_reader Hash a reader with BLAKE2b variable output length. blake2b_hash_stdin Hash stdin with BLAKE2b variable output length.
Tries mmap if stdin is a regular file (shell redirect), falls back to read. check_file Verify checksums from a check file.
Each line should be “hash filename” or “hash *filename” or “ALGO (filename) = hash”. estimate_total_size Estimate total file size for parallel/sequential decision.
Uses a quick heuristic: samples first file and extrapolates.
Returns 0 if estimation fails. hash_bytes Compute hash of a byte slice directly (zero-copy fast path). hash_file Hash a file by path. Single open + fstat to minimize syscalls.
Uses read() for small files, mmap for large files. hash_reader Compute hash of data from a reader, returning hex string. hash_stdin Hash stdin. Reads all data first, then hashes in one pass for optimal throughput. parse_check_line Parse a checksum line in any supported format. parse_check_line_tag Parse a BSD-style tag line: “ALGO (filename) = hash”
Returns (expected_hash, filename, optional_bits).
bits is the hash length parsed from the algo name (e.g., BLAKE2b-256 -> Some(256)). print_hash Print hash result in GNU format: “hash filename\n” print_hash_tag Print hash result in BSD tag format: “ALGO (filename) = hash\n” print_hash_tag_b2sum Print hash in BSD tag format with BLAKE2b length info:
“BLAKE2b (filename) = hash” for 512-bit, or
“BLAKE2b-256 (filename) = hash” for other lengths. print_hash_tag_b2sum_zero Print hash in BSD tag format with BLAKE2b length info and NUL terminator. print_hash_tag_zero Print hash in BSD tag format with NUL terminator. print_hash_zero Print hash in GNU format with NUL terminator instead of newline. readahead_files Issue readahead hints for a list of file paths to warm the page cache.
Uses POSIX_FADV_WILLNEED which is non-blocking and batches efficiently. should_use_parallel Check if parallel hashing is worthwhile for the given file paths.