| #!/usr/local/bin/perl |
| |
| use ExtUtils::testlib; |
| |
| use SSLeay; |
| |
| $md=SSLeay::MD::new("md5"); |
| |
| foreach (@SSLeay::Cipher::names) |
| { |
| ($c=SSLeay::Cipher::new($_)) || |
| die "'$_' is an unknown cipher algorithm\n"; |
| |
| |
| $data="012345678abcdefghijklmnopqrstuvwxyz"; |
| $c->init("01234567abcdefghABCDEFGH","zyxwvut",1); |
| |
| $in =$c->update(substr($data, 0, 5)); |
| $in.=$c->update(substr($data, 5,10)); |
| $in.=$c->update(substr($data,15,1)); |
| $in.=$c->update(substr($data,16)); |
| |
| $in.=$c->final(); |
| |
| $c->init("01234567abcdefghABCDEFGH","zyxwvut",0); |
| $out=$c->update($in); |
| $out.=$c->final(); |
| |
| ($out eq $data) || die "decrypt for $_ failed:$!\n"; |
| |
| $md->init(); |
| $md->update($in); |
| $digest=$md->final(); |
| |
| print unpack("H*",$digest); |
| printf " %2d %2d %2d %s\n", $c->key_length(), $c->iv_length(), |
| $c->block_size(), $c->name(); |
| } |
| |