Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Smart Hasher

About application

Smart Hasher (SH for short) is a command line tool to calculate hashes for one or many files at once with many convenient features.

One of cases e.g. if it is needed to check integrity of the large files with the slow connection. In such case network interruption may happened, slow speed and/or hang up. When calculating a hash the progress is shown so you can get an idea about network speed, overall time required and similar info.

Another use case is to generate hashes for the large bunch of files, and after some time run smart_hasher again. Then compare old and new file and get info about changes in files with user data. To support this scenaria when multiple hashes are stored in one hash file, the lines of that file are sorted by file names.

it is good to quickly diagnose such issues. And if the job is interrupted, it should be easy to continue, preserving previously generated hashes. Utility just check if hash already calculated, and skip calulcation for that files. So it is easy to resume the work, just to rerun the util. It just skips what is already calculated.

To calculate hash for already calculated file, you may add postfix for output files, in such a way you may have several hash files, which are easy to compare

Some features supported

  • Show speed for overall file and current speed. This is especially useful on non-robust connection.
  • Retry on data read error.
  • Skip files for which hashes already calculated. This is convenient when process is interrupted and resumed later.
  • Multiple files on inputs, either by file names or folders with file masks allowed.
  • Many popular hash algorithms.
  • Save hashes for many input files in one output file or for one output file per input file.
  • JSON output
  • Output is sorted by file names. This is convenient to compare files with hashes, and operation system file order does not influence on such comparison.


Please check file

Release notes

Please check file

Developer doc

Developer doc (extracted with the pydoc from the source code) is available at


Smart Hasher is a command line tool to calculate hashes (e.g. sha256, md5, sha512, sha224, sha384, sha1) for one or many files at once with many convenient features.







No packages published