Hashrat is a command-line utility that hashes things using md5, sha1/256/512, whirlpool and jh hash algorithms. It's written in C with few dependancies (basically just the standard C library).
It can read input from standard in and hash it, either as a complete file, or line-by-line.
It can recursively hash files on disk, either outputing hashes to stdout, or storing them in filesystem attributes, or in a memcached server.
It can check files against a list of hashes supplied on stdin, or in the filesystem attributes of the files, or in a memcached server.
It can find files that match a list supplied either on stdin, or uploaded to a memcached server.
It has a 'cgi' mode that presents a web interface for hashing lines of text.
It can pull files over ssh or http, to allow remote hashing/checking from another machine.
1.8.1216 Nov 2017 13:03
Hashing a file now returns POSIX compatible exit codes.
1.8.1110 Oct 2017 08:54
this release adds hook script support for 'find duplicates' mode. In find duplicates mode hook scripts are passed two file paths instead of one, a path to the current file and a path to the file it is a duplicate of.
1.8.1003 Oct 2017 19:35
this release fixes an integer overflow that causes incorrect hashes on large files, and handles 'bad' characters in file names being pushed to hook scripts. Hook scripts were also being run when they shouldn't be, which is now fixed.
1.8.702 Jun 2017 19:03
fixes for the -x (exclude files) option.
1.8.602 Jun 2017 15:13
Hashrat no longer switches to reading from stdin if a file it's told to hash doesn't exist. The -i and -x (include and exclude) options now take a comma-seperated list of patterns to match against, rather than just one.
1.8.322 Sep 2016 15:19
Added the '-type' command-line-option that allows 'hash chaining' like: 'hashrat -type sha256,whirl,md' where hash operations can be fed into each other. Added exit codes for many operations that lacked them.
1.8.225 Aug 2016 00:11
Dirmode works again. Apostrophes in filenames are quoted in 'native' output mode. Cgi mode has been improved (radio buttons don't work on iphones).
1.8.114 May 2016 13:40
This release builds on openbsd and freebsd with support for freebsd extended attributes. When hashing from standard-in hashes can now be copied to the X11 primary and clipboard selection via Xterm control sequences.
1.8.004 Jan 2016 19:43
-C and -Cf modes added to check a list of hashes against a directory. Previously hashrat would only check hashes in a list. With -C mode it can check all files in a supplied directory *against* a list. This means it can detect new files
1.7.030 Dec 2015 20:43
Now compiles on Mac OSX
1.6.117 Feb 2015 22:48
MD5 code now works on architectures other than 32-bit! New encodings added (Ascii85, ZeroMQ85, uuencode-base64, xx-encode-base64, gedcom-base64, and others).
1.616 Feb 2015 22:18
File-attribute hashes now work properly. Performance of hashing ssh paths much improved. Bsdsum format input and output added. Open IOC files can now be provided as input for 'find files matching hash' mode. 'make check' script added. Manpage added. Various bugfixes and cleanups.
1.511 Jan 2015 14:52
Added '-hide-input' and '-star-input' options, both of which conceal text typed into hashrat to prevent shoulder-surfing.
Added '-cache' option to speed hash listing by using hashes stored in filesystem attributes.
1.4.108 Jan 2015 21:22
Turned on gcc's -Wall error flag and fixed everything that came out. Put fixes in to catch -h/-hook or -attrs command-line-options being supplied without an argument.
1.407 Jan 2015 19:48
Added 'find duplicate files' mode, color support on checking, numerous bugfixes.
1.314 Dec 2014 16:17
Many bugfixes since 1.3. Added -X/-exec flags to only hash/check exectuable files.
1.226 Nov 2014 22:02
Added support for color output, xattr support, memcached storage of hashes, 'match mode' that finds files matching a list of hashes.