Md5sum

From Vero - Wikipedia
Jump to navigation Jump to search

Template:Short description Template:Lowercase title Template:Infobox software Template:Mono 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 do so.<ref>Template:Cite web</ref>

The underlying MD5 algorithm is no longer deemed secure. Thus, while Template:Mono 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 purposely and maliciously tampered. In the latter case, the use of a newer hashing tool such as sha256sum is recommended.

Template:Mono is used to verify the integrity of files, as virtually any change to a file will cause its MD5 hash to change. Most commonly, Template:Mono 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 Template:Mono 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 Template:Mono.<ref>Template:Cite web</ref>

Examples

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

Create MD5 hash file hash.md5

<syntaxhighlight lang="bash"> $ md5sum filetohashA.txt filetohashB.txt filetohashC.txt > hash.md5 </syntaxhighlight>

File produced

File contains hash and filename pairs: <syntaxhighlight lang="console"> $ cat hash.md5 595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt 71f920fa275127a7b60fa4d4d41432a3 filetohashB.txt 43c191bf6d6c3f263a8cd0efd4a058ab filetohashC.txt </syntaxhighlight>

Please note:

  • There must be two spaces or a space and an asterisk between each Template:Mono 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.
  • The file must also be UNIX line ending formatted, otherwise this will be seen: md5sum: WARNING: x listed files could not be read. Template:Mono will convert it quickly if it is DOS/Windows formatted.

Check MD5

<syntaxhighlight lang="console"> $ md5sum -c hash.md5 filetohashA.txt: OK filetohashB.txt: OK filetohashC.txt: OK </syntaxhighlight>

Check single MD5

<syntaxhighlight lang="console"> $ echo 'D43F2404CA13E22594E5C8B04D3BBB81 filetohashA.txt' | md5sum -c filetohashA.txt: OK </syntaxhighlight>

On non-GNU systems

Template:Code is specific to systems that use GNU coreutils or a clone such as BusyBox. On FreeBSD and OpenBSD the utilities are called Template:Mono, Template:Mono, Template:Mono, and Template:Mono. These versions offer slightly different options and features. Additionally, FreeBSD offers the "SKEIN" family of message digests.<ref>Template:Man</ref>

See also

References

Template:Reflist

Template:Core Utilities commands