Md5deep


md5deep is a software package used in the computer security, system administration and computer forensics communities to run large numbers of files through any of several different cryptographic digests. It was originally authored by Jesse Kornblum, at the time a Special Agent of the Air Force Office of Special Investigations., he still maintains it.
The name md5deep is misleading. As of version 2.0, the md5deep package contains several different programs able to perform MD5, SHA-1, SHA-256, Tiger192 and Whirlpool digests, each of them named by the digest type followed by the word deep. Thus, the name may confuse some people into thinking it only provides the MD5 algorithm when the package supports many more.
md5deep can be invoked in several different ways. Typically users operate it recursively, where md5deep walks through one directory at a time giving digests of each file found, and recursing into any subdirectories within. Its recursive behavior is approximately a depth-first search, which has the benefit of presenting files in lexicographical order. On Unix-like systems, similar functionality can be often obtained by combining find with hashing utilities such as md5sum, sha256sum, or tthsum.
md5deep exists for Windows and most Unix-based systems, including OS X. It is present in OS X's Fink, Homebrew and MacPorts projects. Binary packages exist for most free Unix systems. Many vendors initially resist including md5deep as they mistakenly believe its functions can be reproduced with one line of shell scripting. The matching function of the program, however, cannot be done easily in shell.
Because md5deep was written by an employee of the U.S. government, on government time, it is in the public domain. Other software surrounding it, such as graphical front-ends, may be copyrighted.