NAME¶
cookfp - calculate file fingerprint
SYNOPSIS¶
cookfp [
option... ][
filename... ]
cookfp -Help
cookfp -VERSion
DESCRIPTION¶
The
cookfp program is used to calculate the fingerprints of files. A
fingerprint is a hash of the contents of a file. The default fingerprint is
cryptographically strong, so the probability of two different files having the
same fingerprint is less than 1 in 2**200.
The fingerprint is based on Dan Berstien <djb@silverton.berkeley.edu>
public domain fingerprint 0.50 beta package 930809, posted to the alt.sources
newsgroup. This program produces identical results; the expected test results
were generated using Dan's package.
The fingerprint is a base-64-sanely-encoded fingerprint of the input. Imagine
this fingerprint as something universal and permanent. A fingerprint is 76
characters long, containing the following:
- 1.
- A Snefru-8 (version 2.5, 8 passes, 512->256) hash. (Derived from the
Xerox Secure Hash Function.)
- 2.
- An MD5 hash, as per RFC 1321. (Derived from the RSADSI MD5 Message-Digest
Algorithm.)
- 3.
- A CRC checksum, as in the new cksum utility.
- 4.
- Length modulo 2^40.
The output format is not expected to be compatible with anything. However,
options are available to produce the purported output of Merkle's snefru
program, the purported output of RSADSI's mddriver -x, or the purported output
of the POSIX cksum program.
If no files are named as input, the standard input will be used. The special
file name ``-'' is understood to mean the standard input.
OPTIONS¶
The following options are understood:
- -Checksum
- Print the CRC32 checksum and length of the named file(s).
- -Identifier
- Print a condensed form of the fingerprint (obtained by performing a CRC32
checksum on the full fingerprint described above - a definite overkill).
This is an 8-digit hexadecimal number, useful for generating unique short
identifiers out of long names. The first character is forced to be a
letter (g-p), so there is no problem in using the output as a variable
name.
- -Help
-
Provide some help with using the cookfp program.
- -Message_Digest
- Print the RSA Data Security, Inc. MD5 Message-Digest Algorithm hash of the
named file(s).
- -Snefru
- Print the Snefru hash of the named file(s), derived from the Xerox Secure
Hash Function.
- -VERSion
-
Print the version of the cookfp program being executed.
All other options will produce a diagnostic error.
All options may be abbreviated; the abbreviation is documented as the upper case
letters, all lower case letters and underscores (_) are optional. You must use
consecutive sequences of optional letters.
All options are case insensitive, you may type them in upper case or lower case
or a combination of both, case is not important.
For example: the arguments "-help", "-HEL" and
"-h" are all interpreted to mean the
-Help option. The
argument "-hlp" will not be understood, because consecutive optional
characters were not supplied.
Options and other command line arguments may be mixed arbitrarily on the command
line.
The GNU long option names are understood. Since all option names for
cookfp are long, this means ignoring the extra leading '-'. The "
--option=value" convention is also
understood.
EXIT STATUS¶
The
cookfp command will exit with a status of 1 on any error. The
cookfp command will only exit with a status of 0 if there are no
errors.
COPYRIGHT¶
cookfp version 2.33
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Miller
The
cookfp program comes with ABSOLUTELY NO WARRANTY; for details use the
'
cookfp -VERSion License' command. This is free software and you are
welcome to redistribute it under certain conditions; for details use the '
cookfp -VERSion License' command.
AUTHOR¶
Portions of this program are derived from sources from other people, sometimes
with liberal copyrights, and sometimes in the public domain. These include:
- Dan Bernstien
- See common/fp/README for details.
- Gary S Brown.
- See common/fp/crc32.c for details.
- RSA Data Security, Inc.
- See common/fp/md5.c for details.
- Xerox Corporation
- See common/fp/snefru.c for details.
In addition to the above copyright holders, there have been numerous authors and
contributors, see the named files for details. Files names are relative to the
root of the
cook distribution.