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   295302 use strict;
  2         5  
  2         83  
4 2     2   16 use warnings;
  2         4  
  2         148  
5              
6             our $VERSION = '0.09';
7              
8 2     2   41 use XSLoader;
  2         8  
  2         125  
9             XSLoader::load('Crypt::RIPEMD160', $VERSION);
10              
11             #package RIPEMD160; # Package-Definition like in Crypt::IDEA
12              
13             #use strict;
14 2     2   14 use Carp;
  2         7  
  2         198  
15              
16             sub addfile
17             {
18 2     2   14 no strict 'refs';
  2         10  
  2         985  
19 5     5 0 1456196 my ($self, $handle) = @_;
20 5         21 my ($package, $file, $line) = caller;
21 5         9 my ($data);
22              
23 5 100       19 if (!ref($handle)) {
24 2 50       16 $handle = $package . "::" . $handle unless ($handle =~ /(\:\:|\')/);
25             }
26 5         145 while (read($handle, $data, 8192)) {
27 4         476 $self->add($data);
28             }
29             }
30              
31             sub hexdigest
32             {
33 29     29 0 249369 my ($self) = shift;
34 29         40 my ($tmp);
35              
36 29         175 $tmp = unpack("H*", ($self->digest()));
37 29         188 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 9681 my($self, $data) = @_;
45              
46 9 100       27 if (ref($self)) {
47 1         5 $self->reset();
48             } else {
49 8         29 $self = Crypt::RIPEMD160->new;
50             }
51 9         91 $self->add($data);
52 9         70 $self->digest();
53             }
54              
55             sub hexhash
56             {
57 22     22 0 10447 my($self, $data) = @_;
58              
59 22 100       56 if (ref($self)) {
60 2         9 $self->reset();
61             } else {
62 20         71 $self = Crypt::RIPEMD160->new;
63             }
64 22         387 $self->add($data);
65 22         63 $self->hexdigest();
66             }
67              
68             1;
69             __END__