|
ActiveTcl User Guide
|
|
|
[ Main table Of Contents | Tcllib Table Of Contents | Tcllib Index ]
sum(n) 1.1.0 "sum"
sum - calculate a sum(1) compatible checksum
TABLE OF
CONTENTS
SYNOPSIS
DESCRIPTION
COMMANDS
OPTIONS
EXAMPLES
AUTHORS
SEE ALSO
KEYWORDS
COPYRIGHT
package require Tcl 8.2
package require sum ?1.1.0?
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.
- ::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(n) specifier provided or as an
unsigned integer (%u) by default.
- -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.
|
% crc::sum "Hello, World!"
37287
|
|
% crc::sum -format 0x%X "Hello, World!"
0x91A7
|
|
% crc::sum -file sum.tcl
13392
|
Pat Thoyts
cksum(n) , crc32(n) , sum(1)
checksum , cksum , crc , crc32 , cyclic redundancy check , data integrity , security , sum
Copyright © 2002, Pat Thoyts
<patthoyts@users.sourceforge.net>