|
Packit |
fa4fcc |
use strict;
|
|
Packit |
fa4fcc |
use Digest::SHA qw(hmac_sha1_hex);
|
|
Packit |
fa4fcc |
|
|
Packit |
fa4fcc |
my @data = map { eval } <DATA>;
|
|
Packit |
fa4fcc |
|
|
Packit |
fa4fcc |
my $numtests = scalar @data;
|
|
Packit |
fa4fcc |
print "1..$numtests\n";
|
|
Packit |
fa4fcc |
|
|
Packit |
fa4fcc |
my @keys = (
|
|
Packit |
fa4fcc |
chr(0x0b) x 20,
|
|
Packit |
fa4fcc |
"Jefe",
|
|
Packit |
fa4fcc |
chr(0xaa) x 20,
|
|
Packit |
fa4fcc |
join("", map { chr } (1 .. 25)),
|
|
Packit |
fa4fcc |
chr(0x0c) x 20,
|
|
Packit |
fa4fcc |
chr(0xaa) x 80,
|
|
Packit |
fa4fcc |
chr(0xaa) x 80
|
|
Packit |
fa4fcc |
);
|
|
Packit |
fa4fcc |
|
|
Packit |
fa4fcc |
my @out = (
|
|
Packit |
fa4fcc |
"b617318655057264e28bc0b6fb378c8ef146be00",
|
|
Packit |
fa4fcc |
"effcdf6ae5eb2fa2d27416d5f184df9c259a7c79",
|
|
Packit |
fa4fcc |
"125d7342b9ac11cd91a39af48aa17b4f63f175d3",
|
|
Packit |
fa4fcc |
"4c9007f4026250c6bc8414f9bf50c86c2d7235da",
|
|
Packit |
fa4fcc |
"4c1a03424b55e07fe7f27be1d58bb9324a9a5a04",
|
|
Packit |
fa4fcc |
"aa4ae5e15272d00e95705637ce8a3b55ed402112",
|
|
Packit |
fa4fcc |
"e8e99d0f45237d786d6bbaa7965c7808bbff1a91"
|
|
Packit |
fa4fcc |
);
|
|
Packit |
fa4fcc |
|
|
Packit |
fa4fcc |
my $testnum = 1;
|
|
Packit |
fa4fcc |
while (@data) {
|
|
Packit |
fa4fcc |
print "not " unless hmac_sha1_hex(shift @data, shift @keys)
|
|
Packit |
fa4fcc |
eq shift @out;
|
|
Packit |
fa4fcc |
print "ok ", $testnum++, "\n";
|
|
Packit |
fa4fcc |
}
|
|
Packit |
fa4fcc |
|
|
Packit |
fa4fcc |
__DATA__
|
|
Packit |
fa4fcc |
"Hi There"
|
|
Packit |
fa4fcc |
"what do ya want for nothing?"
|
|
Packit |
fa4fcc |
chr(0xdd) x 50
|
|
Packit |
fa4fcc |
chr(0xcd) x 50
|
|
Packit |
fa4fcc |
"Test With Truncation"
|
|
Packit |
fa4fcc |
"Test Using Larger Than Block-Size Key - Hash Key First"
|
|
Packit |
fa4fcc |
"Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
|