[![Build Status](https://travis-ci.org/s-shin/p5-Crypt-RNCryptor.svg?branch=master)](https://travis-ci.org/s-shin/p5-Crypt-RNCryptor) # NAME Crypt::RNCryptor - Perl implementation of [RNCryptor](https://github.com/RNCryptor/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