md5sum Command: Tutorial & Examples

Computing and comparing hash codes

The md5sum command is a pre-installed utility in most Linux distributions that is used to compute and check MD5 (Message-Digest algorithm 5) hashes. This command calculates an almost unique 128-bit signature for each input of data. It is commonly used to verify the integrity of files. However, it is not considered to be secure anymore for integrity checks, as it is vulnerable to hash collisions, where different data inputs can produce the same hash output, making it feasible for an attacker to manipulate data without detection.

How Does md5sum Work?

The md5sum command implements the MD5 cryptographic hash function. When the md5sum command is executed, it takes a file as input and produces a 32-character hexadecimal number. This number is the file's MD5 hash or checksum. The primary purpose of this checksum is to compare it with other MD5 hashes. If the hashes are the same, then the files are identical. However, if they are different, it means the files have differences, whether they are minor or major.

Importance of md5sum

The md5sum command is important for verifying file integrity. When you download a file, especially large ones, there's a chance that they could become corrupted during the download process. By comparing the MD5 hash of the file you have with the hash provided by the file's source, you can verify that your downloaded file has not been tampered with or corrupted.

However, the md5sum command is not recommended for security critical uses. It is vulnerable to hash collisions and therefore not considered secure anymore in the cybersecurity world. Better hashing algorithms such as SHA256 or SHA3 are recommended.

Using the md5sum Command

To use the md5sum command, you simply need to type md5sum followed by the file name. Here's an example:

md5sum myfile.txt

This command will output the MD5 hash of myfile.txt. The output will look something like this:

68b329da9893e34099c7d8ad5cb9c940  myfile.txt

The string of numbers and letters before myfile.txt is the file's MD5 hash.

Common Parameters of md5sum

The md5sum command has several parameters that you can use to modify its behavior. Here are a few common ones:

  • -b or --binary: Read in binary mode.
  • -c or --check: Read MD5 sums from the FILEs and check them.
  • -t or --text: Read in text mode (default).
  • --status: Exit with zero status when no check sums are missing.

Checking File Integrity with md5sum

To check the integrity of a file, you can use the -c or --check option. Here's an example:

echo '68b329da9893e34099c7d8ad5cb9c940  myfile.txt' | md5sum -c -

This command will output:

myfile.txt: OK

If the file's MD5 hash matches the one you provided. If they don't match, you'll see:

myfile.txt: FAILED

Conclusion

While the md5sum command is useful for basic file integrity checks, it's not considered secure for more critical uses due to its vulnerability to hash collisions. For those cases, you should use more secure hashing algorithms such as SHA256 or SHA3.

Except where otherwise noted, content on this site is licensed under a CC BY-SA 4.0 license CC BY SA