The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

DBIx::Class::InflateColumn::Crypt::Passphrase - Inflate/deflate columns to passphrase objects

VERSION

version 0.009

SYNOPSIS

__PACKAGE__->load_components(qw(InflateColumn::Crypt::Passphrase));
__PACKAGE__->add_columns(
id => {
data_type => 'integer',
is_auto_increment => 1,
},
passphrase => {
data_type => 'text',
inflate_passphrase => {
encoder => {
module => 'Argon2',
memory_cost => '64M',
time_cost => 5,
parallelism => 4,
},
validators => [
'BCrypt',
],
},
},
);
__PACKAGE__->set_primary_key('id');
# in application code
$rs->create({ passphrase => 'password1' });
my $row = $rs->find({ id => $id });
if ($row->passphrase->verify_password($input)) { ...

DESCRIPTION

Provides inflation and deflation for Crypt::Passphrase instances from and to crypt encoding.

To enable both inflating and deflating, inflate_passphrase must be set to a Crypt::Passphrase construction hash.

METHODS

register_column

Chains with the register_column method in DBIx::Class::Row, and sets up passphrase columns appropriately. This would not normally be directly called by end users.

AUTHOR

Leon Timmermans <leont@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by Leon Timmermans.

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