NAME DBIx::Class::DigestColumns - Automatic digest columns SYNOPSIS In your DBIx::Class table class: __PACKAGE__->load_components(qw/DigestColumns ... Core/); __PACKAGE__->digestcolumns( columns => [qw/ password /], algorithm => 'MD5', encoding => 'base64', auto => 1, ); Note: The component needs to be loaded *before* Core. Alternatively you could call each method individually __PACKAGE__->digest_columns(qw/ password /); __PACKAGE__->digest_algorithm('MD5'); __PACKAGE__->digest_encoding('base64'); __PACKAGE__->digest_auto(1); 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 digestcolumns __PACKAGE__->digestcolumns( columns => [qw/ password /], algorithm => $algorithm', encoding => $encoding, auto => 1, ); Calls "digest_columns", "digest_algorithm", and "digest_encoding" and "digest_auto" if the corresponding argument is defined. digest_columns Takes a list of columns to be convert to a message digest during insert. __PACKAGE__->digest_columns(qw/ password /); digest_algorithm Takes the name of a digest algorithm to be used to calculate the message digest. __PACKAGE__->digest_algorithm('SHA-1'); If a suitible digest module could not be loaded an exception will be thrown. 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 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 DBIx::Class, Digest AUTHOR Tom Kirkpatrick (tkp) LICENSE You may distribute this code under the same terms as Perl itself.