File Coverage

blib/lib/Crypt/Digest/Keccak512.pm
Criterion Covered Total %
statement 23 24 95.8
branch n/a
condition n/a
subroutine 13 14 92.8
pod 9 9 100.0
total 45 47 95.7


line stmt bran cond sub pod time code
1             package Crypt::Digest::Keccak512;
2              
3             ### BEWARE - GENERATED FILE, DO NOT EDIT MANUALLY!
4              
5 2     2   1274 use strict;
  2         4  
  2         51  
6 2     2   8 use warnings;
  2         4  
  2         68  
7             our $VERSION = '0.079_007';
8              
9 2     2   10 use base qw(Crypt::Digest Exporter);
  2         4  
  2         396  
10             our %EXPORT_TAGS = ( all => [qw( keccak512 keccak512_hex keccak512_b64 keccak512_b64u keccak512_file keccak512_file_hex keccak512_file_b64 keccak512_file_b64u )] );
11             our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
12             our @EXPORT = qw();
13              
14 2     2   13 use Carp;
  2         3  
  2         136  
15             $Carp::Internal{(__PACKAGE__)}++;
16 2     2   11 use Crypt::Digest;
  2         3  
  2         501  
17              
18 2     2 1 1397 sub hashsize { Crypt::Digest::hashsize('Keccak512') }
19 4     4 1 67 sub keccak512 { Crypt::Digest::digest_data('Keccak512', @_) }
20 4     4 1 66 sub keccak512_hex { Crypt::Digest::digest_data_hex('Keccak512', @_) }
21 4     4 1 62 sub keccak512_b64 { Crypt::Digest::digest_data_b64('Keccak512', @_) }
22 1     1 1 16 sub keccak512_b64u { Crypt::Digest::digest_data_b64u('Keccak512', @_) }
23 4     4 1 19 sub keccak512_file { Crypt::Digest::digest_file('Keccak512', @_) }
24 4     4 1 26 sub keccak512_file_hex { Crypt::Digest::digest_file_hex('Keccak512', @_) }
25 4     4 1 16 sub keccak512_file_b64 { Crypt::Digest::digest_file_b64('Keccak512', @_) }
26 0     0 1   sub keccak512_file_b64u { Crypt::Digest::digest_file_b64u('Keccak512', @_) }
27              
28             1;
29              
30             =pod
31              
32             =head1 NAME
33              
34             Crypt::Digest::Keccak512 - Hash function Keccak-512 [size: 512 bits]
35              
36             =head1 SYNOPSIS
37              
38             ### Functional interface:
39             use Crypt::Digest::Keccak512 qw( keccak512 keccak512_hex keccak512_b64 keccak512_b64u
40             keccak512_file keccak512_file_hex keccak512_file_b64 keccak512_file_b64u );
41              
42             # calculate digest from string/buffer
43             $keccak512_raw = keccak512('data string');
44             $keccak512_hex = keccak512_hex('data string');
45             $keccak512_b64 = keccak512_b64('data string');
46             $keccak512_b64u = keccak512_b64u('data string');
47             # calculate digest from file
48             $keccak512_raw = keccak512_file('filename.dat');
49             $keccak512_hex = keccak512_file_hex('filename.dat');
50             $keccak512_b64 = keccak512_file_b64('filename.dat');
51             $keccak512_b64u = keccak512_file_b64u('filename.dat');
52             # calculate digest from filehandle
53             $keccak512_raw = keccak512_file(*FILEHANDLE);
54             $keccak512_hex = keccak512_file_hex(*FILEHANDLE);
55             $keccak512_b64 = keccak512_file_b64(*FILEHANDLE);
56             $keccak512_b64u = keccak512_file_b64u(*FILEHANDLE);
57              
58             ### OO interface:
59             use Crypt::Digest::Keccak512;
60              
61             $d = Crypt::Digest::Keccak512->new;
62             $d->add('any data');
63             $d->addfile('filename.dat');
64             $d->addfile(*FILEHANDLE);
65             $result_raw = $d->digest; # raw bytes
66             $result_hex = $d->hexdigest; # hexadecimal form
67             $result_b64 = $d->b64digest; # Base64 form
68             $result_b64u = $d->b64udigest; # Base64 URL Safe form
69              
70             =head1 DESCRIPTION
71              
72             Provides an interface to the Keccak512 digest algorithm.
73              
74             =head1 EXPORT
75              
76             Nothing is exported by default.
77              
78             You can export selected functions:
79              
80             use Crypt::Digest::Keccak512 qw(keccak512 keccak512_hex keccak512_b64 keccak512_b64u
81             keccak512_file keccak512_file_hex keccak512_file_b64 keccak512_file_b64u);
82              
83             Or all of them at once:
84              
85             use Crypt::Digest::Keccak512 ':all';
86              
87             =head1 FUNCTIONS
88              
89             =head2 keccak512
90              
91             Logically joins all arguments into a single string, and returns its Keccak512 digest encoded as a binary string.
92              
93             $keccak512_raw = keccak512('data string');
94             #or
95             $keccak512_raw = keccak512('any data', 'more data', 'even more data');
96              
97             =head2 keccak512_hex
98              
99             Logically joins all arguments into a single string, and returns its Keccak512 digest encoded as a hexadecimal string.
100              
101             $keccak512_hex = keccak512_hex('data string');
102             #or
103             $keccak512_hex = keccak512_hex('any data', 'more data', 'even more data');
104              
105             =head2 keccak512_b64
106              
107             Logically joins all arguments into a single string, and returns its Keccak512 digest encoded as a Base64 string, B trailing '=' padding.
108              
109             $keccak512_b64 = keccak512_b64('data string');
110             #or
111             $keccak512_b64 = keccak512_b64('any data', 'more data', 'even more data');
112              
113             =head2 keccak512_b64u
114              
115             Logically joins all arguments into a single string, and returns its Keccak512 digest encoded as a Base64 URL Safe string (see RFC 4648 section 5).
116              
117             $keccak512_b64url = keccak512_b64u('data string');
118             #or
119             $keccak512_b64url = keccak512_b64u('any data', 'more data', 'even more data');
120              
121             =head2 keccak512_file
122              
123             Reads file (defined by filename or filehandle) content, and returns its Keccak512 digest encoded as a binary string.
124              
125             $keccak512_raw = keccak512_file('filename.dat');
126             #or
127             $keccak512_raw = keccak512_file(*FILEHANDLE);
128              
129             =head2 keccak512_file_hex
130              
131             Reads file (defined by filename or filehandle) content, and returns its Keccak512 digest encoded as a hexadecimal string.
132              
133             $keccak512_hex = keccak512_file_hex('filename.dat');
134             #or
135             $keccak512_hex = keccak512_file_hex(*FILEHANDLE);
136              
137             B You have to make sure that the filehandle is in binary mode before you pass it as argument to the addfile() method.
138              
139             =head2 keccak512_file_b64
140              
141             Reads file (defined by filename or filehandle) content, and returns its Keccak512 digest encoded as a Base64 string, B trailing '=' padding.
142              
143             $keccak512_b64 = keccak512_file_b64('filename.dat');
144             #or
145             $keccak512_b64 = keccak512_file_b64(*FILEHANDLE);
146              
147             =head2 keccak512_file_b64u
148              
149             Reads file (defined by filename or filehandle) content, and returns its Keccak512 digest encoded as a Base64 URL Safe string (see RFC 4648 section 5).
150              
151             $keccak512_b64url = keccak512_file_b64u('filename.dat');
152             #or
153             $keccak512_b64url = keccak512_file_b64u(*FILEHANDLE);
154              
155             =head1 METHODS
156              
157             The OO interface provides the same set of functions as L.
158              
159             =head2 new
160              
161             $d = Crypt::Digest::Keccak512->new();
162              
163             =head2 clone
164              
165             $d->clone();
166              
167             =head2 reset
168              
169             $d->reset();
170              
171             =head2 add
172              
173             $d->add('any data');
174             #or
175             $d->add('any data', 'more data', 'even more data');
176              
177             =head2 addfile
178              
179             $d->addfile('filename.dat');
180             #or
181             $d->addfile(*FILEHANDLE);
182              
183             =head2 add_bits
184              
185             $d->add_bits($bit_string); # e.g. $d->add_bits("111100001010");
186             #or
187             $d->add_bits($data, $nbits); # e.g. $d->add_bits("\xF0\xA0", 16);
188              
189             =head2 hashsize
190              
191             $d->hashsize;
192             #or
193             Crypt::Digest::Keccak512->hashsize();
194             #or
195             Crypt::Digest::Keccak512::hashsize();
196              
197             =head2 digest
198              
199             $result_raw = $d->digest();
200              
201             =head2 hexdigest
202              
203             $result_hex = $d->hexdigest();
204              
205             =head2 b64digest
206              
207             $result_b64 = $d->b64digest();
208              
209             =head2 b64udigest
210              
211             $result_b64url = $d->b64udigest();
212              
213             =head1 SEE ALSO
214              
215             =over
216              
217             =item * L, L
218              
219             =item * L
220              
221             =back
222              
223             =cut