Crypt::OpenSSL::Blowfish - Blowfish Algorithm using OpenSSL


Crypt-OpenSSL-Blowfish documentation Contained in the Crypt-OpenSSL-Blowfish distribution.

Index


Code Index:

NAME

Top

Crypt::OpenSSL::Blowfish - Blowfish Algorithm using OpenSSL

SYNOPSIS

Top

    use Crypt::OpenSSL::Blowfish;
    my $cipher = new Crypt::OpenSSL::Blowfish $key; 
    my $ciphertext = $cipher->encrypt($plaintext);
    $plaintext = $cipher->decrypt($ciphertext);

DESCRIPTION

Top

Crypt::OpenSSL::Blowfish implements the Blowfish Algorithm using functions contained in the OpenSSL crypto library. Crypt::OpenSSL::Blowfish has an interface similar to Crypt::Blowfish, but produces different result than Crypt::Blowfish.

SEE ALSO

Top

Crypt::Blowfish

http://www.openssl.org/

AUTHOR

Top

Vitaly Kramskikh, <vkramskih@cpan.org>


Crypt-OpenSSL-Blowfish documentation Contained in the Crypt-OpenSSL-Blowfish distribution.

package Crypt::OpenSSL::Blowfish;

use strict;
use Carp;

use vars qw/$VERSION @ISA/;

require DynaLoader;
@ISA = qw/DynaLoader/;

$VERSION = '0.02';

bootstrap Crypt::OpenSSL::Blowfish $VERSION;

sub blocksize   {  8; }
sub keysize     {  0; }
sub min_keysize {  8; }
sub max_keysize { 56; }

sub new {
    my $self = {};
    bless $self, shift;
    $self->{ks} = Crypt::OpenSSL::Blowfish::init(shift);

    $self;
}

sub encrypt {
    my ($self, $data) = @_;

    Crypt::OpenSSL::Blowfish::crypt($data, $self->{ks}, 0);

    $data;
}

sub decrypt {
    my ($self, $data) = @_;

    Crypt::OpenSSL::Blowfish::crypt($data, $self->{ks}, 1);

    $data;
}

1;

__END__