File Coverage

blib/lib/Crypt/RIPEMD160.pm
Criterion Covered Total %
statement 45 45 100.0
branch 9 10 90.0
condition n/a
subroutine 10 10 100.0
pod 4 4 100.0
total 68 69 98.5


line stmt bran cond sub pod time code
1             package Crypt::RIPEMD160;
2              
3 7     7   715086 use strict;
  7         9  
  7         216  
4 7     7   39 use warnings;
  7         12  
  7         408  
5              
6             our $VERSION = '0.14';
7              
8 7     7   35 use XSLoader;
  7         9  
  7         252  
9             XSLoader::load('Crypt::RIPEMD160', $VERSION);
10              
11 7     7   27 use base 'Digest::base';
  7         13  
  7         1047  
12              
13             #package RIPEMD160; # Package-Definition like in Crypt::IDEA
14              
15             #use strict;
16 7     7   40 use Carp;
  7         9  
  7         452  
17              
18             sub addfile
19             {
20 7     7   36 no strict 'refs';
  7         15  
  7         2632  
21 15     15 1 1265063 my ($self, $handle) = @_;
22 15         44 my ($package, $file, $line) = caller;
23 15         24 my ($data);
24              
25 15 100       44 if (!ref($handle)) {
26 2 50       14 $handle = $package . "::" . $handle unless ($handle =~ /(\:\:|\')/);
27             }
28 15         34 binmode($handle);
29 15         23 my $n;
30 15         299 while ($n = read($handle, $data, 8192)) {
31 11         492 $self->add($data);
32             }
33 15 100       379 croak "addfile read failed: $!" unless defined $n;
34 13         56 return $self;
35             }
36              
37             sub hexdigest
38             {
39 45     45 1 321391 my ($self) = shift;
40 45         74 my ($tmp);
41              
42 45         250 $tmp = unpack("H*", ($self->digest()));
43 45         282 return(substr($tmp, 0,8) . " " . substr($tmp, 8,8) . " " .
44             substr($tmp,16,8) . " " . substr($tmp,24,8) . " " .
45             substr($tmp,32,8));
46             }
47              
48             sub hash
49             {
50 55     55 1 8905 my($self, $data) = @_;
51              
52 55 100       100 if (ref($self)) {
53 1         5 $self->reset();
54             } else {
55 54         192 $self = Crypt::RIPEMD160->new;
56             }
57 55         226 $self->add($data);
58 55         323 $self->digest();
59             }
60              
61             sub hexhash
62             {
63 37     37 1 7253 my($self, $data) = @_;
64              
65 37 100       80 if (ref($self)) {
66 2         9 $self->reset();
67             } else {
68 35         117 $self = Crypt::RIPEMD160->new;
69             }
70 37         395 $self->add($data);
71 37         76 $self->hexdigest();
72             }
73              
74             1;
75             __END__