Digest::SHA version 4.0.3
=========================

The Digest::SHA module provides a Perl interface to all varieties
of the Secure Hash Algorithm, namely, SHA-1, SHA-256, SHA-384, and
SHA-512.  Fuctions are also included to compute keyed-hashes using
the HMAC algorithm.

Digest::SHA is a subclass of the CPAN Digest::base class, and
thereby inherits all of its useful features and stylistic conventions.
A number of additional features are provided, such as the ability to:

	- calculate digests for bit-oriented messages
	- store and retrieve intermediate SHA states

The underlying C code is portable, and requires no special libraries
beyond those found with typical compilers.  However, if your compiler
doesn't recognize the "long long" type, the functions associated
with the SHA-384 and SHA-512 transforms will return null values.

As of Version 4.0.3, the Digest::SHA module is deprecating the
redundant "shaopen()/shawrite()/shaclose()" interface in favor of
the more streamlined OO style.  Please refer to earlier versions
of this module for documentation on the older style.  Code that
depends on the deprecated interface can be easily modified to use
the new version.

The tests subdirectory (t/*.t) contains an extensive set of SHA
vectors compiled from various sources.  Of particular interest are
the NIST vectors, which examine a large variety of bit-strings and
byte-strings (see the "t/nist/COPYRIGHT" file for details).  Also
note the bit-vectors supplied by Jim Gillogly and Francois Grieu,
which check the behavior of implementations for input strings that
exceed 2^32 bits in length.

The examples directory, kindly provided by Julius Duque, contains
useful and instructive applications of the SHA digest routines.
Refer to the "finddups" utility (recently featured in The Perl
Journal) for a particularly interesting example.

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

   Digest::base

COPYRIGHT AND LICENCE

Copyright (C) 2003 Mark Shelor

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
