Florian Ragwitz


DBIx::Class::InflateColumn::Authen::Passphrase - Inflate/deflate columns to Authen::Passphrase instances



        id => {
            data_type         => 'integer',
            is_auto_increment => 1,
        passphrase_rfc2307 => {
            data_type          => 'text',
            inflate_passphrase => 'rfc2307',
        passphrase_crypt => {
            data_type          => 'text',
            inflate_passphrase => 'crypt',


    # in application code
    $rs->create({ passphrase_rfc2307 => Authen::Passphrase::RejectAll->new });

    my $row = $rs->find({ id => $id });
    if ($row->passphrase_rfc2307->match($input)) { ...


Provides inflation and deflation for Authen::Passphrase instances from and to either RFC 2307 or crypt encoding.

To enable both inflating and deflating, inflate_passphrase must be set to a valid passhrase encoding. Currently the only supported encodings are rfc2307 and crypt. The specified encoding will be used both when storing Authen::Passphrase instances in columns, and when creating Authen::Passphrase instances from columns. See Authen::Passphrase for details on passphrase encodings.

Note that not all passphrase schemes supported by Authen::Passphrase can be represented in either RFC 2307 or crypt encoding. Chose the kind of passphrase encoding you're using based on the encoding the passphrase algorithms you're using support.

When trying to encode a passphrase instance with an encoding that doesn't support it, an exception will be thrown. Similarly, when trying to load a passphrase instance from a faulty or unknown encoded representation, an exception will be thrown.



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.


Florian Ragwitz <rafl@debian.org>


This software is copyright (c) 2010 by Florian Ragwitz.

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