]>
Dogcows Code - chaz/p5-File-KDBX/blob - CBC.pm
467b935f65104d1a1c9146deb8e322c82a89e8ac
1 package File
::KDBX
::Cipher
::CBC
;
2 # ABSTRACT: A CBC block cipher mode encrypter/decrypter
9 use File
::KDBX
::Util
qw(:class);
12 extends
'File::KDBX::Cipher';
14 our $VERSION = '999.999'; # VERSION
23 my $mode = $self->{mode
} ||= do {
24 my $m = Crypt
::Mode
::CBC-
>new($self->algorithm);
25 $m->start_encrypt($self->key, $self->iv);
29 return join('', map { $mode->add(ref $_ ? $$_ : $_) } grep { defined } @_);
35 my $mode = $self->{mode
} ||= do {
36 my $m = Crypt
::Mode
::CBC-
>new($self->algorithm);
37 $m->start_decrypt($self->key, $self->iv);
41 return join('', map { $mode->add(ref $_ ? $$_ : $_) } grep { defined } @_);
46 return '' if !$self->{mode
};
47 my $out = $self->{mode
}->finish;
57 use File::KDBX::Cipher::CBC;
59 my $cipher = File::KDBX::Cipher::CBC->new(algorithm => $algo, key => $key, iv => $iv);
63 A subclass of L<File::KDBX::Cipher> for encrypting and decrypting data using the CBC block cipher mode.
This page took 0.035285 seconds and 3 git commands to generate.