Table of Contents
Ubuntu - OpenSSL - Compute a checksum of a file
OpenSSL can compute a checksum (digest) against a file.
To ensure that the contents of a file has not been tampered with, OpenSSL can compute a unique checksum for the file.
Once this checksum is computed, it can be shared and, for example, anyone downloading the file can run the same checksum process to ensure that they get the same checksum - which ensures that the contents of a file have not changed.
Get a list of checksum methods that OpenSSL supports
openssl dgst -list
returns:
Supported digests: -blake2b512 -blake2s256 -md4 -md5 -md5-sha1 -ripemd -ripemd160 -rmd160 -sha1 -sha224 -sha256 -sha3-224 -sha3-256 -sha3-384 -sha3-512 -sha384 -sha512 -sha512-224 -sha512-256 -shake128 -shake256 -sm3 -ssl3-md5 -ssl3-sha1 -whirlpool
Compute an MD5 Checksum for a file
openssl dgst -md5 test.sh
returns:
MD5(test.sh)= 68e2009b8a69745f4371011194a16116
NOTE: This can also be run as:
openssl md5 test.sh
Compute an MD5 Checksum for all files in a directory
OpenSSL can also be combined with find to produce fingerprints for several files:
find /home/peter -type f -print0 | xargs -0 openssl md5 or find /home/peter -type f| xargs -d '\n' openssl md5
NOTE: The xargs command takes white space characters (tabs, spaces, new lines) as delimiters.
To accommodate for files which may contain spaces, the -d option is used to limit xarg delimiters to only the new line characters ('\n').