Why not adopt me?
NAME
MooX::Role::CryptedPassword - Password attribute from a encrypted file.
SYNOPSIS
Prepare:
$ create_crypted_password --file-name etc/password.private \
                          --cipher-key 'This-is-the-cipher-key' \
                          --password 'This-is-a-nice-password'
Your class:
package MyUserData;
use Moo;
with 'MooX::Role::CryptedPassword';
has username => (is => 'ro', required => 1);
...
1;
Somewhere else:
my $ud = MyUserData->new(
    username => 'abeltje',
    password_file => 'etc/password.private',
    cipher_key    => 'This-is-the-cipher-key',
);
ATTRIBUTES
password => $password
The decrypted version of the password found in the password_file parameter.
DESCRIPTION
This role adds an attribute password to your class. If the parameter password_file is passed, the contents are assumed to be encrypted with the Rijndael cipher (and you should supply the cipher_key argument).
Use the supplied create_crypted_password tool to generate the file.
In case the password (for development reasons) doesn't need to be encrypted or comes from a different source (like a key-value-store), one can always pass a plain-text password directly by passing it as the password parameter.
AUTHOR
© MMXVII - Abe Timmerman <abeltje@cpan.org>
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.