File Coverage

blib/lib/Crypt/RIPEMD160.pm
Criterion Covered Total %
statement 38 38 100.0
branch 7 8 87.5
condition n/a
subroutine 9 9 100.0
pod 0 4 0.0
total 54 59 91.5


line stmt bran cond sub pod time code
1             package Crypt::RIPEMD160;
2              
3 2     2   298754 use strict;
  2         6  
  2         78  
4 2     2   11 use warnings;
  2         8  
  2         156  
5              
6             our $VERSION = '0.11';
7              
8 2     2   12 use XSLoader;
  2         6  
  2         82  
9             XSLoader::load('Crypt::RIPEMD160', $VERSION);
10              
11             #package RIPEMD160; # Package-Definition like in Crypt::IDEA
12              
13             #use strict;
14 2     2   9 use Carp;
  2         5  
  2         162  
15              
16             sub addfile
17             {
18 2     2   10 no strict 'refs';
  2         9  
  2         991  
19 5     5 0 1686146 my ($self, $handle) = @_;
20 5         22 my ($package, $file, $line) = caller;
21 5         13 my ($data);
22              
23 5 100       21 if (!ref($handle)) {
24 2 50       20 $handle = $package . "::" . $handle unless ($handle =~ /(\:\:|\')/);
25             }
26 5         179 while (read($handle, $data, 8192)) {
27 4         526 $self->add($data);
28             }
29             }
30              
31             sub hexdigest
32             {
33 29     29 0 196117 my ($self) = shift;
34 29         45 my ($tmp);
35              
36 29         197 $tmp = unpack("H*", ($self->digest()));
37 29         190 return(substr($tmp, 0,8) . " " . substr($tmp, 8,8) . " " .
38             substr($tmp,16,8) . " " . substr($tmp,24,8) . " " .
39             substr($tmp,32,8));
40             }
41              
42             sub hash
43             {
44 9     9 0 6395 my($self, $data) = @_;
45              
46 9 100       25 if (ref($self)) {
47 1         6 $self->reset();
48             } else {
49 8         25 $self = Crypt::RIPEMD160->new;
50             }
51 9         48 $self->add($data);
52 9         56 $self->digest();
53             }
54              
55             sub hexhash
56             {
57 22     22 0 7768 my($self, $data) = @_;
58              
59 22 100       52 if (ref($self)) {
60 2         23 $self->reset();
61             } else {
62 20         68 $self = Crypt::RIPEMD160->new;
63             }
64 22         430 $self->add($data);
65 22         61 $self->hexdigest();
66             }
67              
68             1;
69             __END__