The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Crypt::RNCryptor - Perl implementation of RNCryptor

SYNOPSIS

    use Crypt::RNCryptor;

    # generate password-based encryptor
    $cryptor = Crypt::RNCryptor->new(
        password => 'secret password',
    );

    # generate key-based encryptor
    $cryptor = Crypt::RNCryptor->new(
        encryption_key => '',
        hmac_key => '',
    );

    # encrypt
    $ciphertext = $cryptor->encrypt('plaintext');

    # decrypt
    $plaintext = $cryptor->decrypt($ciphertext);

DESCRIPTION

Crypt::RNCryptor is a Perl implementation of RNCryptor, which is one of data format for AES-256 (CBC mode) encryption.

Crypt::RNCryptor class is the base of Crypt::RNCryptor::V* class and declare some abstract methods.

METHODS

CLASS METHODS

my $cryptor = Crypt::RNCryptor->new(%opts);

Create a cryptor instance.

    %opts = (
        # RNCryptor version. Currently support only version 3)
        version => $Crypt::RNCryptor::DefaultRNCryptorVersion,
        # See Crypt::RNCryptor::V*
        %version_dependent_opts
    );

INSTANCE METHODS

$ciphertext = $cryptor->encrypt($plaintext, %version_dependent_opts)

Encrypt plaintext with options.

$plaintext = $cryptor->decrypt($ciphertext, %version_dependent_opts)

Decrypt ciphertext with options.

MODULE VARIABLES

$Crypt::RNCryptor::DefaultRNCryptorVersion = '3'

Default RNCryptor version.

@Crypt::RNCryptor::DefaultRNCryptorVersion

List of supporting RNCryptor versions.

LICENSE

Copyright (C) Shintaro Seki.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Shintaro Seki <s2pch.luck@gmail.com>