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


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


 # 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;
 $digest = $ctx->digest;
 $digest = $ctx->hexdigest;
 $digest = $ctx->b64digest;


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.


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

This function will concatenate all arguments, calculate the SHA-1 digest of this ``message'', and return it in binary form.

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

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


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 the Digest manpage.


the Digest manpage, the Digest::HMAC_SHA1 manpage, the Digest::MD5 manpage



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

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


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

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