xref: /illumos-gate/usr/src/man/man1/digest.1 (revision b8052df9f609edb713f6828c9eecc3d7be19dfb3)
te
Copyright 2006, Sun Microsystems, Inc. All Rights Reserved
Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DIGEST 1 "July 3, 2022"
NAME
digest - calculate a message digest
SYNOPSIS
/usr/bin/digest -l | [-v] -a algorithm [file]...
DESCRIPTION
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.
OPTIONS
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.

USAGE
"Algorithms"
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.

EXAMPLES
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
EXIT STATUS
The following exit values are returned: 0

Successful completion.

>0

An error occurred.

ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
SEE ALSO
cksum (1), encrypt (1), mac (1), libpkcs11 (3LIB), attributes (7), pkcs11_softtoken (7), bart (8), cryptoadm (8)