Crypt::Blowfish::Mod - Another Blowfish Algorithm
version 0.04
use Crypt::Blowfish::Mod; my $cipher = new Crypt::Blowfish::Mod $key; my $ciphertext = $cipher->encrypt($plaintext); $plaintext = $cipher->decrypt($ciphertext);
Crypt::Blowfish::Mod implements the Blowfish algorithm using functions adapted from examples from Bruce Schneier and other authors.
Crypt::Blowfish::Mod has an interface similar to Crypt::Blowfish, but produces different results. This module is endianness sensitive, making sure that it gives the same encription/decription results in different architectures.
Also, this module accepts variable length keys up to 256 bytes. By default, it assumes the key is a Base64 string. And all text encrypted or decrypted is also in Base64.
key
Usage:
## the key should be base64 my $b = Crypt::Blowfish::Mod->new('YaKjsKjY0./'); ## or use a raw key: my $b = Crypt::Blowfish::Mod->new( key_raw=>'this_is_a_raw_key9k&$!djf29389238928938' ); my $enc = $b->encrypt( 'secret text' ); my $dec = $b->decrypt( $enc );
If you prefer, work with raw encrypted strings:
my $enc = $b->encrypt_raw( 'secret text' ); my $dec = $b->decrypt_raw( $enc );
Or just call it even more raw (Big Endian):
my $enc = Crypt::Blowfish::Mod::b_encrypt( $key, $str, 1 ); my $dec = Crypt::Blowfish::Mod::b_decrypt( $key, $enc, 1 );
Returns a encrypted string encoded in Base64.
Decodes a base64 encoded blowfish encrypted string.
Returns a raw encrypted string.
Decodes a raw encoded blowfish encrypted string.
Raw C decrypt function.
The Blowfish algorithm is highly dependent on the endianness of your architecture. This module attempts to detect the correct endianness for your architecture, otherwise it will most likely default to little-endian.
You may override this behavior by setting the endianness on instantiation:
# force little-endian my $b = Crypt::Blowfish::Mod->new( key=>'YaKjsKjY0./', endianness=>'little' );
Intel-based architectures are typically Little-Endian.
Crypt::Blowfish
Crypt::OpenSSL::Blowfish
This algorithm has been implemented in other languages:
http://www.schneier.com/blowfish-download.html
Rodrigo de Oliveira, <rodrigo@cpan.org>
To install Crypt::Blowfish::Mod, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Crypt::Blowfish::Mod
CPAN shell
perl -MCPAN -e shell install Crypt::Blowfish::Mod
For more information on module installation, please visit the detailed CPAN module installation guide.