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>