use Crypt::OpenSSL::AES;
my $cipher = new Crypt::OpenSSL::AES($key);
$encrypted = $cipher->encrypt($plaintext)
$decrypted = $cipher->decrypt($encrypted)
This module is compatible with Crypt::CBC (and likely other modules that utilize a block cipher to make a stream cipher).
This module is an alternative to the implementation provided by Crypt::Rijndael which implements AES itself. In contrast, this module is simply a wrapper around the OpenSSL library.
The Crypt::Rijndael implementation seems to produce inaccurate results on 64-bit x86 machines. By using OpenSSL, this module aims to avoid architecture specific problems, allowing the OpenSSL maintainers to overcome such issues.
You should use Crypt::CBC or something similar to encrypt/decrypt data of arbitrary lengths.
You should use Crypt::CBC or something similar to encrypt/decrypt data of arbitrary lengths.
use Crypt::CBC
$cipher = Crypt::CBC->new(
-key => $key,
-cipher => "Crypt::OpenSSL::AES"
);
$encrypted = $cipher->encrypt($plaintext)
$decrypted = $cipher->decrypt($encrypted)
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
http://www.csrc.nist.gov/encryption/aes/
The US Government's Advanced Encryption Standard is the Rijndael Algorithm and was developed by Vincent Rijmen and Joan Daemen.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.