Crypt-xDBM_File
view release on metacpan or search on metacpan
xDBM_File.pm view on Meta::CPAN
return (exists $self->{'localhash'}{$crypted_key});
}
sub FIRSTKEY { # first key request
my $self = shift;
my ($key, $crypted_key);
keys(%{$self->{'localhash'}}); # reset eachness
return($self->NEXTKEY());
}
sub NEXTKEY {
my $self = shift;
my $crypted_key = each (%{$self->{'localhash'}});
if (defined $crypted_key) {
return ($self->_decrypt_string($crypted_key, $self->{'block_pad'}));
} else {
return;
}
}
sub CLEAR {
my $self = shift;
return ($self->{'localhash'} = ());
}
sub DESTROY {
my $self = shift;
return (untie %{$self->{'localhash'}});
}
# Autoload methods go after =cut, and are processed by the autosplit program.
1;
__END__
=head1 NAME
Crypt::xDBM_File - encrypt almost any kind of dbm file
=head1 SYNOPSIS
use Crypt::xDBM_File;
use GDBM_File; # remember to only load those you really want
use SDBM_File;
use NDBM_File;
use Fcntl; # neede by SDBM_File and NDBM_File
tie %hash, 'Crypt::xDBM_File', crypt_method, key, 'GDBM_FILE', $filename, &GDBM_WRCREAT, 0640;
tie %hash, 'Crypt::xDBM_File', 'IDEA', "my_key", 'NDBM_FILE', $filename, O_RDWR|O_CREAT, 0640;
tie %hash, 'Crypt::xDBM_File', 'DES', "my_key", 'SDBM_FILE', $filename, O_RDWR|O_CREAT, 0640;
tie %hash, 'Crypt::xDBM_File', 'Crypt::Blowfish', "my key", 'GDBM_FILE', $filename, &GDBM_WRCREAT, 0640;
=head1 DESCRIPTION
Crypt::xDBM_File encrypts/decrypts the data in a gdbm,ndbm,sdbm (and maybe even berkeleyDB, but I didn't test that) file. It gets tied to a hash and you just access the hash like normal. The crypt function can be any of the CPAN modules that use en...
You can in a single dbm file mix encryption methods, just be prepared to handle the binary muck that you get from trying to decrypt with an algorithm different from the one a key was originally encrypted in (for example if you do a keys or values, yo...
***IMPORTANT***
Encryption keys (the key you pass in on the tie line) will be padded or truncated to fit the keysize(). Data (the key/values of the hash) is padded to fill complete blocks of blocksize(). The padding is stripped before being returned to the user so...
=head1 AUTHOR
Eric Estabrooks, eric@urbanrage.com
=head1 SEE ALSO
perl(1).
=cut
( run in 0.873 second using v1.01-cache-2.11-cpan-39bf76dae61 )