LibWeb::Crypt is a Perl module that offers encryption for libweb applications.
SYNOPSIS
use LibWeb::Crypt;
my $c = new LibWeb::Crypt();
my $cipher =
$c->encrypt_cipher(
-data => $plain_text,
-key => $key,
-algorithm => 'Crypt::Blowfish',
-format => 'hex'
);
my $plain_text =
$c->decrypt_cipher(
-cipher => $cipher,
-key => $key,
-algorithm => 'Crypt::Blowfish',
-format => 'hex'
);
my $encrypted_pass =
$c->encrypt_password('password_in_plain_text');
METHODS
encrypt_cipher()
Params:
-data=>, -key=>, -algorithm=>, -format=>
Pre:
* -data is the data to be encrypted as cipher,
* -key is the private key such the same key is needed to decrypt the cipher (sorry, I do not have a rigorous definition for that right now),
* -algorithm must be 'Crypt::Blowfish', 'Crypt::DES' or 'Crypt::IDEA',
* -format is the format of the cipher, which must be either 'binary' or 'hex'.
Post:
* Encrypt -data and return the cipher.
Note: this makes use of the Crypt::CBC module and therefore can accept data of arbitrary length.
decrypt_cipher()
Params:
-cipher=>, -key=>, -algorithm=>, -format=>
Pre:
· -cipher is the cipher to be decrypted,
· -key is the private key such that it is the same key used to encrypt the original data of -cipher (sorry, I do not have a rigorous definition for that right now),
· -algorithm must be 'Crypt::Blowfish', 'Crypt::DES' or 'Crypt::IDEA' and it must match the algorithm used when preparing the cipher,
· -format is the format of the cipher, which must be either 'binary' or 'hex'.
Post:
· Decrypt -cipher and return the original data.
encrypt_password()
Usage:
my $encrypted_password =
$crypt->encrypt_password($password_in_plain_text);
Encrypts the parameter (usually a password) and returns a 13-character long string using the perl's crypt() routine and randomly chosen salt.
Product's homepage
Requirements:
· Perl
· Crypt::CBC
· Crypt::Blowfish (recommended)
· Crypt::DES or Crypt::IDEA