DIGEST(1) User Commands DIGEST(1)

digest - calculate a message digest

/usr/bin/digest -l | [-v] -a algorithm [file]...

The digest utility calculates the message digest of the given files or stdin using the algorithm specified. If more than one file is given, each line of output is the digest of a single file.

The following options are supported:

-a algorithm

Specifies the name of the algorithm to use during the encryption or decryption process. See USAGE, Algorithms, for details.

-l

Displays list of algorithms available on the system. This list can change depending on the configuration of the cryptographic framework.

-v

Verbose output. Includes the algorithm name and filename in the output.

These algorithms are provided by the Cryptographic Framework. Each algorithm supported by the command is an alias of the PKCS #11 mechanism for easier access. For example, sha1 is an alias to CKM_SHA_1.

These aliases are used with the -a option and are case-sensitive.

Example 1 Simulating Output

The following example simulates output of the common md5sum program:


example$ digest -v -a md5 /usr/bin/vi
md5 (/usr/bin/vi) = e4e3588c5212903847c66d36b1a828a5

Example 2 Digesting a File

The following example generates the sha1 digest of the file /etc/motd:


example$ digest -a sha1 /etc/motd
9498a4f5303d056ad3ecae826b59f41448d63790

Example 3 Generating a Directory Manifest

The following example generates a directory manifest with sha1:


example$ digest -v -a sha1 /usr/lib/inet/*
sha1 (/usr/lib/inet/certdb) = f6d43e6e395d50db24d34e4af4828598c8918b16
sha1 (/usr/lib/inet/certlocal) = 7f74ba4a019b809c7023212b4bda10d9485e071d
sha1 (/usr/lib/inet/certrldb) = 1f845d30b8d02066647de04311e74549049852ed
sha1 (/usr/lib/inet/dhcp) = e3db5e4ff40a69d13f2497254526c2015d2c37b3
sha1 (/usr/lib/inet/dsvclockd) = b61aad7ed6a0f82145c3c26aedc613ab4a1f032e
sha1 (/usr/lib/inet/in.dhcpd) = 382210180c826fbb2e747236c489062bac8cc30b
sha1 (/usr/lib/inet/in.iked) = be6061fad725d37256e773dc85f8bd5248649463
sha1 (/usr/lib/inet/in.mpathd) = 5bd6bf0340fd5c4cc0c53f2df158302a0e85f9d0
sha1 (/usr/lib/inet/in.ndpd) = fdb768aebe7e5eb4465e1c1bb5e679b496f5c5c6
sha1 (/usr/lib/inet/in.ripngd) = 4f56a0df2d4a252f581a73c2e84143b920d0b66b
sha1 (/usr/lib/inet/ppp) = c96ee458549871a6ffdf2674a888b01d0c9e9740
sha1 (/usr/lib/inet/pppoec) = 5f022498d79dacacd947cddadc64f171822e3dee
sha1 (/usr/lib/inet/pppoed) = 252bd2f0863dbc1b05fffae72821a2a95609b8ad
sha1 (/usr/lib/inet/slpd) = dfa24cc0f0b05f790546d4f0948a9094f7089027
sha1 (/usr/lib/inet/ntpd) = 5b4aff102372cea801e7d08acde9655fec81f07c

Example 4 Displaying a List of Available Algorithms

The following example displays a list of available algorithms to digest:


example$ digest -l
sha1
md5
sha256
sha385
sha512

The following exit values are returned:

0

Successful completion.

>0

An error occurred.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed

cksum(1), encrypt(1), mac(1), libpkcs11(3LIB), attributes(7), pkcs11_softtoken(7), bart(8), cryptoadm(8)

July 3, 2022 OmniOS