#!/usr/local/bin/perl -Tw
use lib '..','../blib/lib','.','./blib/lib';
my (@mods,@pads,@in,$tnum);
@mods = qw/Rijndael
Blowfish
Blowfish_PP
IDEA
DES
/;
for $mod (@mods) {
eval "use Crypt::$mod(); 1" && push @in,$mod;
}
unless ($#in > -1) {
print "1..0 # Skipped: no cryptographic modules found\n";
exit;
} else {
print "1..2\n";
}
sub test {
local($^W) = 0;
my($num, $true,$msg) = @_;
$$num++;
print($true ? "ok $$num\n" : "not ok $$num $msg\n");
}
$tnum = 0;
eval "use Crypt::CBC";
print STDERR "using Crypt\:\:$in[0] for testing\n";
test(\$tnum,!$@,"Couldn't load module");
my $cipher = Crypt::CBC->new(
-key => 'aaab',
-cipher => $in[0],
-padding => "oneandzeroes",
);
my $string = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX';
my $work = $cipher->encrypt($string); #Encrypt string
my $plain = $cipher->decrypt($work); #...and decrypt
test(\$tnum,$string eq $plain,"oneandzeroes padding not working\n");