/usr/lib/perl5/Digest/Whirlpool.pm is in libdigest-whirlpool-perl 1.09-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | package Digest::Whirlpool;
use strict;
use base 'Digest::base';
use XSLoader ();
our $VERSION = '1.09';
XSLoader::load __PACKAGE__, $VERSION;
# Pre-1.0.4 used base64digest, maintain API compatibility with it.
*base64digest = \&Digest::base::b64digest;
1;
__END__
=head1 NAME
Digest::Whirlpool - A 512-bit, collision-resistant, one-way hash function
=head1 ABSTRACT
WHIRLPOOL is a 512-bit, collision-resistant, one-way hash function
developed by Paulo S. L. M. Barreto and Vincent Rijmen. It has been
recommended by the NESSIE project (along with SHA-256/384/512) and
adopted as ISO/IEC 10118-3.
=head1 SYNOPSIS
In programs:
# Using L<Digest> (recommended)
use Digest;
my $whirlpool = Digest->new( 'Whirlpool' );
# Get a hash and reset the object
$whirlpool->add( "hash this" );
my $hexdigest = $whirlpool->hexdigest;
# Populate the object again, and clone it before getting the
# digest to avoid resetting
$whirlpool->add( "hash this" );
my $b64digest = $whirlpool->clone->b64digest;
$whirlpool->add( "add this to the hash" );
# Using this module directly (same interface)
use Digest::Whirlpool;
my $whirlpool = Digest->new( 'Whirlpool' );
$whirlpool->add( ... );
....
From the command line:
whirlpoolsum files
whirlpoolsum --help
=head1 DESCRIPTION
Provides an interface to the WHIRLPOOL hash algorithm. This module
subclasses L<Digest::base> and can be used either directly or through
the L<Digest> meta-module. Using the latter is recommended.
=head1 EXPORT
None.
=head1 METHODS
Since this module implements the standard L<Digest
interface|Digest/"OO INTERFACE"> and should be used through the
L<Digest> module you should look at that documentation for the general
interface, below is a description of methods that differ.
=head2 clone
Copy the internal state of the current object into a new object and
return it.
=head2 reset
Resets the object to the same internal state it was in when it was
constructed.
This works exactly like L</new> except it doesn't allocate new memory
for its internal state.
=head2 base64digest
An legacy alias for the B<b64digest> method which should be used
instead.
=head2 hashsize
Returns the size (in bits) of a WHIRLPOOL hash, i.e. 512.
=cut
=head1 SEE ALSO
=over 4
=item
NESSIE consortium, I<Portfolio of recommended cryptographic primitives>, February 27, 2003.
=item
L<http://paginas.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
=back
=head1 AUTHORS & HISTORY
The original version of this package was written by Julius C. Duque in
2003. It was rewritten by E<AElig>var ArnfjE<ouml>rE<eth> Bjarmason
<avar@cpan.org> in January 2007 who added compatability with the
Digest interface, improved documentation and a L<whirlpoolsum(1)>
command-line utility amongst other things.
=head1 BUGS
Please report any bugs that aren't already listed at
L<http://rt.cpan.org/Dist/Display.html?Queue=Digest-Whirlpool> to
L<http://rt.cpan.org/Public/Bug/Report.html?Queue=Digest-Whirlpool>
=head1 LICENSE
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
Copyright 2003 Julius C. Duque and 2007 and 2009 E<AElig>var ArnfjE<ouml>rE<eth> Bjarmason.
=cut
|