Data::Encrypted 0.07 review
DownloadData::Encrypted is a Perl module to transparently store encrypted data via RSA. SYNOPSIS # functional interface: use Data:
|
|
Data::Encrypted is a Perl module to transparently store encrypted data via RSA.
SYNOPSIS
# functional interface:
use Data::Encrypted file => "./.$0-encrypted-data", qw(encrypted);
# note: 'login' and 'password' are not *really* the login and
# password values, only the desired prompt!
my $login = encrypted('login');
my $password = encrypted('password');
# script continues, connecting to some secure resource (database,
# website, etc).
__END__
# alternative, OO interface:
use Data::Encrypted;
my $enc = new Data::Encrypted file => "./.$0-encrypted-data";
my $login = $enc->encrypted('login');
my $password = $enc->encrypted('password');
$enc->finished(); # close and release lock on storage file
# script continues, connecting to some secure resource (database,
# website, etc).
__END__
[ then, back at the command line: ]
% myscript.pl
Data::Encrypted value for 'login' not found, please enter: *****
Data::Encrypted value for 'password' not found, please enter: ********
[ script merrily continues ... ]
% myscript.pl
[ script merrily continues, no prompting this time ... ]
Often when dealing with external resources (database engines, ftp, telnet, websites, etc), your Perl script must supply a password, or other sensitive data, to the other system. This requires you to either continually prompt the user for the data, or to store the information (in plaintext) within your script. You'd rather not have to remember the connection details to all your different resources, so you'd like to store the data somewhere. And if you share your script with anyone (as any good open-source developer would), you'd rather not have your password or other sensitive information floating around.
Data::Encrypted attempts to fill this small void with a simple, yet functional solution to this common predicament. It works by prompting you (via Term::ReadPassword) once for each required value, but only does so the first time you run your script; thereafter, the data is stored encrypted in a secondary file. Subsequent executions of your script use the encrypted data directly, if possible; otherwise it again prompts for the data. Currently, Data::Encrypted achieves encryption via an RSA public-key cryptosystem implemented by Crypt::RSA, using (by default) your own SSH1 public and private keys.
Requirements:
Perl
Data::Encrypted 0.07 keywords