Original author(s)Ulrich Drepper, Scott Miller, David Madore[1]
Operating systemUnix and Unix-like
Licensecoreutils: GNU GPL v3

md5sum is a computer program that calculates and verifies 128-bit MD5 hashes, as described in RFC 1321. The MD5 hash functions as a compact digital fingerprint of a file. As with all such hashing algorithms, there is theoretically an unlimited number of files that will have any given MD5 hash. However, it is very unlikely that any two non-identical files in the real world will have the same MD5 hash, unless they have been specifically created to have the same hash.[2]

The underlying MD5 algorithm is no longer deemed secure. Thus, while md5sum is well-suited for identifying known files in situations that are not security related, it should not be relied on if there is a chance that files have been purposefully and maliciously tampered. In the latter case, the use of a newer hashing tool such as sha256sum is recommended.

md5sum is used to verify the integrity of files, as virtually any change to a file will cause its MD5 hash to change. Most commonly, md5sum is used to verify that a file has not changed as a result of a faulty file transfer, a disk error or non-malicious meddling. The md5sum program is included in most Unix-like operating systems, or compatibility layers such as Cygwin.

The original C code was written by Ulrich Drepper and extracted from a 2001 release of glibc.[3]


All of the following files are assumed to be in the current directory.

Create MD5 hash file hash.md5

$ md5sum filetohashA.txt filetohashB.txt filetohashC.txt > hash.md5

File produced

File contains hash and filename pairs.

$ cat hash.md5
595f44fec1e92a71d3e9e77456ba80d1  filetohashA.txt
71f920fa275127a7b60fa4d4d41432a3  filetohashB.txt
43c191bf6d6c3f263a8cd0efd4a058ab  filetohashC.txt

Note: There must be two spaces or a space and an asterisk between each md5sum value and filename to be compared (the second space indicates text mode, the asterisk binary mode). Otherwise, the following error will result: "no properly formatted MD5 checksum lines found". Many programs don't distinguish between the two modes, but some utils do.

Note: The file must be also UNIX line ending formatted otherwise "md5sum: WARNING: x listed files could not be read" will be seen. 'dos2unix' will convert it quickly if it is DOS/Windows formatted.

Check MD5

$ md5sum -c hash.md5
filetohashA.txt: OK
filetohashB.txt: OK
filetohashC.txt: OK

Check single MD5

$ echo 'D43F2404CA13E22594E5C8B04D3BBB81  filetohashA.txt' | md5sum -c
filetohashA.txt: OK

See also


  1. ^ https://linux.die.net/man/1/md5sum
  2. ^ "HowToMD5SUM - Community Help Wiki". help.ubuntu.com. Retrieved 2018-11-02.
  3. ^ "md5sum: Compute MD5 Checksums". rdrr.io. Retrieved 2018-11-02.

External links

This page was last updated at 2021-06-08 14:32, update this pageView original page

All information on this site, including but not limited to text, pictures, etc., are reproduced on Wikipedia (wikipedia.org), following the . Creative Commons Attribution-ShareAlike License


If the math, chemistry, physics and other formulas on this page are not displayed correctly, please useFirefox or Safari