NAME¶
sum - Calculate a
sum(1) compatible checksum
SYNOPSIS¶
package require
Tcl 8.2
package require
sum ?1.1.0?
::crc::sum ?
-bsd |
-sysv? ?
-format fmt?
?
-chunksize size? [
-filename file |
-channel chan |
string ]
DESCRIPTION¶
This package provides a Tcl-only implementation of the
sum(1) command which
calculates a 16 bit checksum value from the input data. The BSD sum algorithm
is used by default but the SysV algorithm is also available.
COMMANDS¶
- ::crc::sum ?-bsd | -sysv? ?-format fmt?
?-chunksize size? [ -filename file | -channel chan |
string ]
- The command takes string data or a file name or a channel and returns a
checksum value calculated using the sum(1) algorithm. The result is
formatted using the format(3tcl) specifier provided or as an
unsigned integer (%u) by default.
OPTIONS¶
- -sysv
- The SysV algorithm is fairly naive. The byte values are summed and any
overflow is discarded. The lowest 16 bits are returned as the checksum.
Input with the same content but different ordering will give the same
result.
- -bsd
- This algorithm is similar to the SysV version but includes a bit rotation
step which provides a dependency on the order of the data values.
- -filename name
- Return a checksum for the file contents instead of for parameter
data.
- -channel chan
- Return a checksum for the contents of the specified channel. The channel
must be open for reading and should be configured for binary translation.
The channel will no be closed on completion.
- -chunksize size
- Set the block size used when reading data from either files or channels.
This value defaults to 4096.
- -format string
- Return the checksum using an alternative format template.
EXAMPLES¶
% crc::sum "Hello, World!"
37287
% crc::sum -format 0x%X "Hello, World!"
0x91A7
% crc::sum -file sum.tcl
13392
AUTHORS¶
Pat Thoyts
BUGS, IDEAS, FEEDBACK¶
This document, and the package it describes, will undoubtedly contain bugs and
other problems. Please report such in the category
crc of the
Tcllib
Trackers [
http://core.tcl.tk/tcllib/reportlist]. Please also report any
ideas for enhancements you may have for either package and/or documentation.
SEE ALSO¶
cksum(3tcl), crc32(3tcl),
sum(1)
KEYWORDS¶
checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security,
sum
CATEGORY¶
Hashes, checksums, and encryption
COPYRIGHT¶
Copyright (c) 2002, Pat Thoyts <patthoyts@users.sourceforge.net>