NAME
DBIx::Class::DigestColumns - Automatic digest columns
SYNOPSIS
In your "DBIx::Class" table class:
__PACKAGE__->load_components(qw/DigestColumns .../);
__PACKAGE__->digest_columns(qw/ password /);
__PACKAGE__->digest_algorithm('MD5');
__PACKAGE__->digest_encoding('base64');
Note that the component needs to be loaded before Core.
DESCRIPTION
This "DBIx::Class" component can be used to automatically insert a message digest of selected columns. By default DigestColumns will use "Digest::MD5" to insert a 128-bit hexadecimal message digest of the column value.
The length of the inserted string will be 32 and it will only contain characters from this set: '0'..'9' and 'a'..'f'.
If you would like to use a specific digest module to create your message digest, you can set "digest_algorithm":
__PACKAGE__->digest_algorithm('SHA-1');
METHODS
digest_columns(@columns)
Takes a list of columns to be convert to a message digest during insert.
__PACKAGE__->digest_columns(qw/ password /);
digest_algorithm($classname)
Takes the name of a digest algorithm to be used to calculate the message digest.
__PACKAGE__->digest_algorithm('SHA-1');
Supported digest algorithms are:
MD5
MD4
MD2
SHA-1
SHA-256
SHA-384
SHA-512
CRC-16
CRC-32
CRC-CCITT
HMAC-SHA-1
HMAC-MD5
Whirlpool
Adler-32
digest_algorithm defaults to MD5.
digest_encoding($encoding)
Selects the encoding to use for the message digest.
__PACKAGE__->digest_encoding('base64');
Possilbe encoding schemes are:
binary
hex
base64
digest_encoding defaults to hex.
digest_auto()
__PACKAGE__->digest_auto( 1 );
Turns on and off automatic digest columns. When on, this feature makes all UPDATEs and INSERTs automatically insert a message digest of selected columns.
The default is for digest_auto is to be on.
EXTENDED METHODS
The following "DBIx::Class::Row" methods are extended by this module:-
- insert
- update
SEE ALSO
AUTHOR
Tom Kirkpatrick (tkp) <tkp@cpan.org>
LICENSE
You may distribute this code under the same terms as Perl itself.