Python module to facilitate calculating the hash of multiple files. Tested against Python 2.7, Python 3.6, PyPy 2.7 and PyPy 3.5. Currently supports Adler-32, CRC32, MD5, SHA-1, SHA-256 and SHA-512, and xxHash-32 and xxHash-64.
Forked from Leonides T. Saguisag Jr.'s FileHash.
The FilesHash
class wraps around the hashlib
(provides hashing for MD5, SHA-1, SHA-256 and SHA-512) and zlib
(provides checksums for Adler-32 and CRC32) modules and contains the following methods:
hash_file(filename)
- Calculate the file hash for a single file. Returns a string with the hex digest.cathash_files(filenames)
- TODOhophash_files(filenames)
- TODO
The FileHash
constructor has two optional arguments:
hash_algorithm='sha256'
- Specifies the hashing algorithm to use.
See filehash.SUPPORTED_ALGORITHMS
for the list of supported hash / checksum algorithms.
Defaults to SHA256.
- chunk_size=262144
- Integer specifying the chunk size to use (in bytes) when reading the file.
This comes in useful when processing very large files to avoid having to read the entire file into memory all at once. Default chunk size is 262144 bytes.
The library can be used as follows:
>>> import os >>> from fileshash import FilesHash >>> TODO
A command-line tool called fileshash
is also included with the fileshash
package.
Here is an example of how the tool can be used:
$ TODO
Run the tool without any parameters or with the -h
/ --help
switch to get a usage screen.
This is released under an MIT license.
See the LICENSE
file in this repository for more information.