File: pbkdf.t

package info (click to toggle)
libcrypt-cbc-perl 3.07-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 364 kB
  • sloc: perl: 2,074; makefile: 2
file content (30 lines) | stat: -rw-r--r-- 936 bytes parent folder | download | duplicates (2)
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
#!/usr/local/bin/perl

use lib '../blib/lib','../lib','./lib';
use strict;
use Test;

my $open_ssl_expected;

BEGIN {
    $open_ssl_expected = {
	opensslv1 => {key => 'DFB4CADC622054E432B94423894DED3FF1CD3887DED9E23EB943C316F57A7901',
		      iv  => 'A43CCFB9D40566E759BF1E890833C05D' },
	opensslv2 => {key => '429D56D40A7BAEB4462F9024DB29AD7C3F1ABF6DF91A6AA4EB461D76CA238317',
		      iv  => '104179D56A0EB898EF3254F3F81901C5' },
	pbkdf2 => {iv => '8BD84A68D9F1C640A1530C21D31CAF7C',
		   key=> 'F383A9DF2698C85EF21FCC8C3394182BAA344E733D71A11F65FEE88DC001C01A'},
    };
    plan tests => keys(%$open_ssl_expected) * 2; 
}

use Crypt::CBC::PBKDF;

for my $method (keys %$open_ssl_expected) {
    my $pb = Crypt::CBC::PBKDF->new($method);
    my ($key,$iv) = $pb->key_and_iv('12345678','foobar');
    ok(uc unpack('H*',$key),$open_ssl_expected->{$method}{key});
    ok(uc unpack('H*',$iv),$open_ssl_expected->{$method}{iv});
}

exit 0;