Skip to content

Python module that wraps around hashlib and zlib to facilitate generating checksums / hashes of files and directories.

License

Notifications You must be signed in to change notification settings

mmore500/fileshash

Repository files navigation

fileshash

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.

FilesHash class

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) - TODO
  • hophash_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.

Example usage

The library can be used as follows:

>>> import os
>>> from fileshash import FilesHash
>>> TODO

fileshash command line tool

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.

License

This is released under an MIT license. See the LICENSE file in this repository for more information.

About

Python module that wraps around hashlib and zlib to facilitate generating checksums / hashes of files and directories.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages