Copyright 2006, Sun Microsystems, Inc. All Rights Reserved
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]
/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.
Displays list of algorithms available on the system. This list can change depending on the configuration of the cryptographic framework.
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/ncaconfd) = 7219542b5585a8d1104d7ce4a2ced07d8a260ea3 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/wanboot) = a8b8c51c389c774d0be2ae43cb85d1b1439484ae sha1 (/usr/lib/inet/ntpd) = 5b4aff102372cea801e7d08acde9655fec81f07c
Example 4 Displaying a List of Available Algorithms
The following example displays a list of available algortithms to digest:
example$ digest -l sha1 md5 sha256 sha385 sha512
The following exit values are returned: 0
Successful completion.
An error occurred.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Committed |
cksum(1), encrypt(1), mac(1), bart(1M), cryptoadm(1M), libpkcs11(3LIB), attributes(5), pkcs11_softtoken(5)