File: md2.t

package info (click to toggle)
libdigest-md2-perl 2.04%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 112 kB
  • sloc: perl: 12; makefile: 3
file content (34 lines) | stat: -rw-r--r-- 1,152 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
print "1..7\n";
use strict;

use Digest::MD2 qw(md2 md2_hex);
my $testno = 0;

# From RFC 1319
my $TESTS = <<'EOT';
MD2 ("") = 8350e5a3e24c153df2275c9f80692773
MD2 ("a") = 32ec01ec4a6dac72c0ab96fb34c0b5d1
MD2 ("abc") = da853b0d3f88d99b30283a69e6ded6bb
MD2 ("message digest") = ab4f496bfb2a530b219ff33031fe06b0
MD2 ("abcdefghijklmnopqrstuvwxyz") = 4e8ddff3650292ab5a4108c3aa47940b
MD2 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = da33def2a42df13975352846c30338cd
MD2 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = d5976f79d83d3a0dc9806c3c66f3efd8
EOT

for (split(/^/, $TESTS)) {
    die unless /^MD2\s*\(\"([^\"]*)\"\)\s*=\s*(.*)/;
    my $message = $1;
    my $hexdigest = $2;
    my $bindigest = pack("H*", $hexdigest);

    my $failed;
    $failed++ unless md2($message) eq $bindigest;
    $failed++ unless md2_hex($message) eq $hexdigest;

    # Test OO interface
    $failed++ unless Digest::MD2->new->add($message)->digest eq $bindigest;
    $failed++ unless Digest::MD2->new->add($message)->hexdigest eq $hexdigest;

    print "not " if $failed;
    print "ok ", ++$testno, "\n";
}