App-Raps2
view release on metacpan or search on metacpan
'Test::Fatal' => 0,
'Test::More' => 0,
'Test::Pod' => 0,
},
license => 'unrestricted',
module_name => 'App::Raps2',
requires => {
'perl' => '5.10.0',
'Carp' => 0,
'Config::Tiny' => 0,
'Crypt::CBC' => 0,
'Crypt::Eksblowfish' => 0,
'Crypt::Eksblowfish::Bcrypt' => 0,
'File::BaseDir' => 0,
'File::Path' => 2.06_05,
'File::Slurp' => 0,
'Getopt::Long' => 0,
'POSIX' => 0,
'Term::ReadLine' => 0,
},
script_files => 'bin/',
},
"configure" : {
"requires" : {
"Module::Build" : "0.42"
}
},
"runtime" : {
"requires" : {
"Carp" : "0",
"Config::Tiny" : "0",
"Crypt::CBC" : "0",
"Crypt::Eksblowfish" : "0",
"Crypt::Eksblowfish::Bcrypt" : "0",
"File::BaseDir" : "0",
"File::Path" : "2.0605",
"File::Slurp" : "0",
"Getopt::Long" : "0",
"POSIX" : "0",
"Term::ReadLine" : "0",
"perl" : "v5.10.0"
}
version: '0.54'
App::Raps2::Password:
file: lib/App/Raps2/Password.pm
version: '0.54'
App::Raps2::UI:
file: lib/App/Raps2/UI.pm
version: '0.54'
requires:
Carp: '0'
Config::Tiny: '0'
Crypt::CBC: '0'
Crypt::Eksblowfish: '0'
Crypt::Eksblowfish::Bcrypt: '0'
File::BaseDir: '0'
File::Path: '2.0605'
File::Slurp: '0'
Getopt::Long: '0'
POSIX: '0'
Term::ReadLine: '0'
perl: v5.10.0
version: '0.54'
raps2 - "Right, another password store" take two
------------------------------------------------
* <http://finalrewind.org/projects/raps2>
Dependencies
------------
* perl version 5.10 or newer
* Config::Tiny
* Crypt::CBC
* Crypt::Eksblowfish
* File::BaseDir
* File::Path
* File::Slurp
Installation
------------
$ perl Build.PL
$ perl Build
Note that commandline arguments always override options set in the
configuration file.
=head1 DEPENDENCIES
=over
=item * Config::Tiny
=item * Crypt::CBC
=item * Crypt::Eksblowfish
=item * File::BaseDir
=item * File::Path (usually included with perl core)
=item * File::Slurp
=item * pwgen (if you want C<< raps2 add >> to generate passwords)
lib/App/Raps2/Password.pm view on Meta::CPAN
package App::Raps2::Password;
use strict;
use warnings;
use 5.010;
use Carp 'confess';
use Crypt::CBC;
use Crypt::Eksblowfish;
use Crypt::Eksblowfish::Bcrypt qw(bcrypt_hash en_base64 de_base64);
our $VERSION = '0.54';
sub new {
my ( $obj, %conf ) = @_;
$conf{cost} //= 12;
lib/App/Raps2/Password.pm view on Meta::CPAN
}
sub encrypt {
my ( $self, %opt ) = @_;
$opt{salt} //= $self->{salt};
$opt{cost} //= $self->{cost};
my $eksblowfish
= Crypt::Eksblowfish->new( $opt{cost}, $opt{salt}, $self->{passphrase}, );
my $cbc = Crypt::CBC->new( -cipher => $eksblowfish );
return $cbc->encrypt_hex( $opt{data} );
}
sub decrypt {
my ( $self, %opt ) = @_;
$opt{cost} //= $self->{cost};
$opt{salt} //= $self->{salt};
my $eksblowfish
= Crypt::Eksblowfish->new( $opt{cost}, $opt{salt}, $self->{passphrase}, );
my $cbc = Crypt::CBC->new( -cipher => $eksblowfish );
return $cbc->decrypt_hex( $opt{data} );
}
sub bcrypt {
my ($self) = @_;
return en_base64(
bcrypt_hash(
{
lib/App/Raps2/Password.pm view on Meta::CPAN
=back
=head1 DIAGNOSTICS
When anything goes wrong, App::Raps2::Password will use Carp(3pm)'s B<confess>
method to die with a backtrace.
=head1 DEPENDENCIES
Crypt::CBC(3pm), Crypt::Eksblowfish(3pm).
=head1 BUGS AND LIMITATIONS
Unknown.
=head1 SEE ALSO
Crypt::CBC(3pm), Crypt::Eksblowfish(3pm).
=head1 AUTHOR
Copyright (C) 2011-2015 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>
=head1 LICENSE
0. You just DO WHAT THE FUCK YOU WANT TO.
( run in 0.685 second using v1.01-cache-2.11-cpan-e1769b4cff6 )