Apache-LoggedAuthDBI
view release on metacpan or search on metacpan
section. After a C<Digest::SHA1> object has been created, you will add
data to it and finally ask for the digest in a suitable format. A
single object can be used to calculate multiple digests.
The following methods are provided:
=over 4
=item $sha1 = Digest::SHA1->new
The constructor returns a new C<Digest::SHA1> object which encapsulate
the state of the SHA-1 message-digest algorithm.
If called as an instance method (i.e. $sha1->new) it will just reset the
state the object to the state of a newly created object. No new
object is created in this case.
=item $sha1->reset
This is just an alias for $sha1->new.
=item $sha1->clone
This a copy of the $sha1 object. It is useful when you do not want to
destroy the digests state, but need an intermediate value of the
digest, e.g. when calculating digests iteratively on a continuous data
stream. Example:
my $sha1 = Digest::SHA1->new;
while (<>) {
$sha1->add($_);
print "Line $.: ", $sha1->clone->hexdigest, "\n";
}
=item $sha1->add($data,...)
The $data provided as argument are appended to the message we
calculate the digest for. The return value is the $sha1 object itself.
All these lines will have the same effect on the state of the $sha1
object:
$sha1->add("a"); $sha1->add("b"); $sha1->add("c");
$sha1->add("a")->add("b")->add("c");
$sha1->add("a", "b", "c");
$sha1->add("abc");
=item $sha1->addfile($io_handle)
The $io_handle will be read until EOF and its content appended to the
message we calculate the digest for. The return value is the $sha1
object itself.
The addfile() method will croak() if it fails reading data for some
reason. If it croaks it is unpredictable what the state of the $sha1
object will be in. The addfile() method might have been able to read
the file partially before it failed. It is probably wise to discard
or reset the $sha1 object if this occurs.
In most cases you want to make sure that the $io_handle is in
C<binmode> before you pass it as argument to the addfile() method.
=item $sha1->add_bits($data, $nbits)
=item $sha1->add_bits($bitstring)
This implementation of SHA-1 only supports byte oriented input so you
might only add bits as multiples of 8. If you need bit level support
please consider using the C<Digest::SHA> module instead. The
add_bits() method is provided here for compatibility with other digest
implementations. See L<Digest> for description of the arguments that
add_bits() take.
=item $sha1->digest
Return the binary digest for the message. The returned string will be
20 bytes long.
Note that the C<digest> operation is effectively a destructive,
read-once operation. Once it has been performed, the C<Digest::SHA1>
object is automatically C<reset> and can be used to calculate another
digest value. Call $sha1->clone->digest if you want to calculate the
digest without reseting the digest state.
=item $sha1->hexdigest
Same as $sha1->digest, but will return the digest in hexadecimal
form. The length of the returned string will be 40 and it will only
contain characters from this set: '0'..'9' and 'a'..'f'.
=item $sha1->b64digest
Same as $sha1->digest, but will return the digest as a base64 encoded
string. The length of the returned string will be 27 and it will only
contain characters from this set: 'A'..'Z', 'a'..'z', '0'..'9', '+'
and '/'.
The base64 encoded string returned is not padded to be a multiple of 4
bytes long. If you want interoperability with other base64 encoded
SHA-1 digests you might want to append the string "=" to the result.
=back
=head1 SEE ALSO
L<Digest>, L<Digest::HMAC_SHA1>, L<Digest::SHA>, L<Digest::MD5>
http://www.itl.nist.gov/fipspubs/fip180-1.htm
=head1 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.
=head1 AUTHORS
Peter C. Gutmann,
( run in 2.456 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )