Crypt-Passphrase-Bcrypt-AES

 view release on metacpan or  search on metacpan

lib/Crypt/Passphrase/Bcrypt/AES.pm  view on Meta::CPAN

use Crypt::Passphrase 0.019 -encoder;

use Carp 'croak';
use Crypt::Rijndael 1.16;

my %mode = (
	'aes-cfb' => Crypt::Rijndael::MODE_CFB,
	'aes-ofb' => Crypt::Rijndael::MODE_OFB,
	'aes-ctr' => Crypt::Rijndael::MODE_CTR,
	'aes-ecb-pad' => Crypt::Rijndael::MODE_ECB,
	'aes-cbc-pad' => Crypt::Rijndael::MODE_CBC,
);

sub new {
	my ($class, %args) = @_;
	my $peppers = $args{peppers} or croak('No peppers given');
	$args{active} //= (sort {; no warnings 'numeric'; $b <=> $a || $b cmp $a } keys %{ $peppers })[0];
	my $mode = delete $args{mode} // 'ctr';
	my $cipher = "aes-$mode";
	croak("No such mode $mode") if not exists $mode{$cipher};
	my $self = $class->SUPER::new(%args, cipher => $cipher);



( run in 0.784 second using v1.01-cache-2.11-cpan-e1769b4cff6 )