The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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);
    

 # OO style
 use Digest::SHA1;

 $ctx = Digest::SHA1->new;

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

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

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.

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 Gisle Aas.
 Copyright 1997 Uwe Hollerbach.

AUTHORS

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