SHA1(3)

NAME
Digest::SHA1 - Perl interface to the SHA-1 Algorithm

SYNOPSIS
 # Functional style
 use Digest::SHA1  qw(sha1 sha1_hex sha1_base64);

 $digest = sha1($data);
 $digest = sha1_hex($data);
 $digest = sha1_base64($data);
 $digest = sha1_transform($data);

 # OO style
 use Digest::SHA1;

 $ctx = Digest::SHA1->new;

 $ctx->add($data);
 $ctx->addfile(*FILE);

 $digest = $ctx->digest;
 $digest = $ctx->hexdigest;
 $digest = $ctx->b64digest;
 $digest = $ctx->transform;

DESCRIPTION
The "Digest::SHA1" module allows you to use the NIST SHA-1 message digest algorithm from within Perl programs. The algorithm takes as input a message of arbitrary length and produces as output a 160-bit "fingerprint" or "message digest" of the input.

The "Digest::SHA1" module provide a procedural interface for simple use, as well as an object oriented interface that can handle messages of arbitrary length and which can read files directly.

A binary digest will be 20 bytes long. A hex digest will be 40 characters long. A base64 digest will be 27 characters long.

FUNCTIONS
The following functions can be exported from the "Digest::SHA1" module. No functions are exported by default.

sha1($data,...)
    This function will concatenate all arguments, calculate the SHA-1 digest of this "message", and return it in binary form.

sha1_hex($data,...)
    Same as sha1(), but will return the digest in hexadecimal form.

sha1_base64($data,...)
    Same as sha1(), but will return the digest as a base64 encoded string.

sha1_transform($data)
    Implements the basic SHA1 trasnform on a 64 byte block. $data and the returned $digest are in binary form. This algorithm is used in NIST FIPS 186-2

METHODS
The "Digest::SHA1" module provide the standard "Digest" OO-interface. The constructor looks like this:

$sha1 = Digest->new('SHA-1')
$sha1 = Digest::SHA1->new
    The constructor returns a new "Digest::SHA1" object which encapsulate the state of the SHA-1 message-digest algorithm. You can add data to the object and finally ask for the digest using the methods described in Digest.

SEE ALSO
Digest, Digest::HMAC_SHA1, Digest::MD5

http://www.itl.nist.gov/fipspubs/fip180-1.htm

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

 Copyright 1999-2003 Gisle Aas.
 Copyright 1997 Uwe Hollerbach.

AUTHORS
Peter C. Gutmann, Uwe Hollerbach <uh@alumni.caltech.edu>, Gisle Aas <gisle@aas.no>