]> git.ipfire.org Git - thirdparty/openssl.git/blob - perl/cipher.pl
Import of old SSLeay release: SSLeay 0.9.0b
[thirdparty/openssl.git] / perl / cipher.pl
1 #!/usr/local/bin/perl
2
3 use ExtUtils::testlib;
4
5 use SSLeay;
6
7 $md=SSLeay::MD::new("md5");
8
9 foreach (@SSLeay::Cipher::names)
10 {
11 ($c=SSLeay::Cipher::new($_)) ||
12 die "'$_' is an unknown cipher algorithm\n";
13
14
15 $data="012345678abcdefghijklmnopqrstuvwxyz";
16 $c->init("01234567abcdefghABCDEFGH","zyxwvut",1);
17
18 $in =$c->update(substr($data, 0, 5));
19 $in.=$c->update(substr($data, 5,10));
20 $in.=$c->update(substr($data,15,1));
21 $in.=$c->update(substr($data,16));
22
23 $in.=$c->final();
24
25 $c->init("01234567abcdefghABCDEFGH","zyxwvut",0);
26 $out=$c->update($in);
27 $out.=$c->final();
28
29 ($out eq $data) || die "decrypt for $_ failed:$!\n";
30
31 $md->init();
32 $md->update($in);
33 $digest=$md->final();
34
35 print unpack("H*",$digest);
36 printf " %2d %2d %2d %s\n", $c->key_length(), $c->iv_length(),
37 $c->block_size(), $c->name();
38 }
39