Computes and audits file hashes. https://github.com/maurotrb/haskdeep

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed by Mauro Taraborelli


What is it?

Command line tool that computes file hashes traversing recursively through a directory structure. Known hashes are saved to file and they can be used to verify the original files or a copy of them.

Quick start

Execute haskdeep without arguments and it will show you the help text:

user@host:~$ haskdeep

Usage: haskdeep COMMAND [-c|--computation MODE] [-r|--root DIRNAME] [-k|--known FILENAME]
  Computes hashes and audit a set of files

Available options:
  -h,--help                Show this help text
  -v,--version             Show version information
  -c,--computation MODE    md5 | sha1 | sha256 | skein512 - default md5
  -r,--root DIRNAME        Root directory - default current directory
  -k,--known FILENAME      Known hashes file - default known.haskdeep
  -e,--excl-regex REGEX    Exclude files or directories based on regex
  -f,--incl-mod-from DATE  Include files modified from yyyy-mm-ddThh:mm:ssZ
  -t,--incl-mod-upto DATE  Include files modified up to yyyy-mm-ddThh:mm:ssZ

Available commands:
  compute                  Computes file hashes and saves them to known hashes file
  audit                    Audits files comparing them to known hashes

Default usage:

  1. create known hashes of files contained in a root directory (traversed recursively)

     user@host:~$ haskdeep compute -c md5 -r myimportantfiles/ -k knownhashes.txt -e "tmp|\.log"
  2. verify a copy of the same files comparing them with known hashes

     user@host:~$ haskdeep audit -c md5 -r copyofmyimportantfiles/ -k knownhashes.txt -e "tmp|\.log"


Please see the file called LICENSE.


Heavily inspired by hashdeep: http://md5deep.sourceforge.net/


For question and comments:


Version (01 Jun 2015)

  • Updated package dependencies

Version (15 Sep 2013)

  • Added option -v for version information

  • Added option -f and -t to filter files based on modification time

  • Changed option -i (exclude based to regex) to -e

Version (14 Dec 2012)

  • Initial release.
comments powered byDisqus