Crypt-PBE

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

         }
      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "Crypt::CBC" : "0",
            "Crypt::DES" : "0",
            "Crypt::OpenSSL::AES" : "0",
            "Digest::MD2" : "0",
            "Digest::MD5" : "0",
            "Digest::SHA" : "0",
            "Term::ReadKey" : "0",
            "perl" : "5.008"
         }
      },
      "test" : {
         "requires" : {

META.yml  view on Meta::CPAN

meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: Crypt-PBE
no_index:
  directory:
    - t
    - inc
requires:
  Crypt::CBC: '0'
  Crypt::DES: '0'
  Crypt::OpenSSL::AES: '0'
  Digest::MD2: '0'
  Digest::MD5: '0'
  Digest::SHA: '0'
  Term::ReadKey: '0'
  perl: '5.008'
resources:
  repository: git://github.com/giterlizzi/perl-Crypt-PBE
version: '0.103'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Makefile.PL  view on Meta::CPAN

    MIN_PERL_VERSION   => 5.008,
    PL_FILES           => {},
    CONFIGURE_REQUIRES => {
        'ExtUtils::MakeMaker' => '0',
    },
    TEST_REQUIRES => {
        'Test::More' => '0',
    },
    PREREQ_PM => {
        'Crypt::CBC'          => '0',
        'Crypt::DES'          => '0',
        'Digest::MD2'         => '0',
        'Digest::MD5'         => '0',
        'Digest::SHA'         => '0',
        'Crypt::OpenSSL::AES' => '0',
        'Term::ReadKey'       => '0',
    },
    META_MERGE => {
        'meta-spec' => { version => 2 },
        'resources' => {
            repository => {

lib/Crypt/PBE/CLI.pm  view on Meta::CPAN

    print "\n";

    return $value;

}

sub show_version {

    require Crypt::PBE;
    require Crypt::CBC;
    require Crypt::DES;
    require Crypt::OpenSSL::AES;

    print <<"EOF";
pkcs5-tool v$VERSION

CORE
  Perl                 ($^V, $^O)
  Crypt::PBE           ($Crypt::PBE::VERSION)

CRYPT MODULES
  Crypt::CBC           ($Crypt::CBC::VERSION)
  Crypt::DES           ($Crypt::DES::VERSION)
  Crypt::OpenSSL::AES  ($Crypt::OpenSSL::AES::VERSION)

DIGEST MODULES
  Digest::MD2          ($Digest::MD2::VERSION)
  Digest::MD5          ($Digest::MD5::VERSION)
  Digest::SHA          ($Digest::SHA::VERSION)

EOF

    return 0;

lib/Crypt/PBE/PBES1.pm  view on Meta::CPAN

use utf8;

use Carp;
use Crypt::CBC;
use Exporter qw(import);

use Crypt::PBE::PBKDF1;

our $VERSION = '0.103';

use constant ENCRYPTION => { 'des' => 'Crypt::DES', };

sub new {

    my ( $class, %params ) = @_;

    my $self = {
        password   => $params{password}   || croak('Specify password'),
        count      => $params{count}      || 1_000,
        hash       => $params{hash}       || croak('Specify hash digest algorithm'),
        encryption => $params{encryption} || 'des',                                    # TODO add support for RC2

lib/Crypt/PBE/PBES1.pm  view on Meta::CPAN

    );

    my $key = substr( $DK, 0, 8 );
    my $iv  = substr( $DK, 8, 8 );

    my $crypt = Crypt::CBC->new(
        -key         => $key,
        -iv          => $iv,
        -literal_key => 1,
        -header      => 'none',
        -cipher      => 'Crypt::DES',
    );

    my @result = ( $salt, $crypt->encrypt($data) );

    return wantarray ? @result : join( '', @result );

}

sub decrypt {

lib/Crypt/PBE/PBES1.pm  view on Meta::CPAN

    );

    my $key = substr( $DK, 0, 8 );
    my $iv  = substr( $DK, 8, 8 );

    my $ciper = Crypt::CBC->new(
        -key         => $key,
        -iv          => $iv,
        -literal_key => 1,
        -header      => 'none',
        -cipher      => 'Crypt::DES',
    );

    my $decrypted = $ciper->decrypt($encrypted);

    return $decrypted;

}

1;



( run in 0.261 second using v1.01-cache-2.11-cpan-9a3d99fc6dc )