GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DBIX::CLASS::ENCODEDCOLUMN::DIGEST (3)

.ds Aq ’

NAME

DBIx::Class::EncodedColumn::Digest - Digest backend

CONTENTS

SYNOPSYS



  #SHA-1 / hex encoding / generate check method
  __PACKAGE__->add_columns(
    password => {
      data_type   => CHAR,
      size        => 40 + 10,
      encode_column => 1,
      encode_class  => Digest,
      encode_args   => {algorithm => SHA-1, format => hex, salt_length => 10},
      encode_check_method => check_password,
  }

  #SHA-256 / base64 encoding / generate check method
  __PACKAGE__->add_columns(
    password => {
      data_type   => CHAR,
      size        => 40,
      encode_column => 1,
      encode_class  => Digest,
      encode_check_method => check_password,
      #no  encode_args necessary because these are the defaults ...
  }



DESCRIPTION

ACCEPTED ARGUMENTS

    format

The encoding to use for the digest. Valid values are ’binary’, ’hex’, and ’base64’. Will default to ’base64’ if not specified.

    algorithm

The digest algorithm to use for the digest. You may specify any valid Digest algorithm. Examples are MD5, SHA-1, Whirlpool etc. Will default to ’SHA-256if not specified.

See Digest for supported digest algorithms.

    salt_length

If you would like to use randomly generated salts to encode values make sure this option is set to > 0. Salts will be automatically generated at encode time and will be appended to the end of the digest. Please make sure that you remember to make sure that to expand the size of your db column to have enough space to store both the digest AND the salt. Please see list below for common digest lengths.

METHODS

make_encode_sub CW$column_name, \%encode_args

Returns a coderef that takes two arguments, a plaintext value and an optional salt and returns the encoded value with the salt appended to the end of the digest. If a salt is not provided and the salt_length option was greater than zero it will be randomly generated.

make_check_sub CW$column_name, \%encode_args

Returns a coderef that takes the row object and a plaintext value and will return a boolean if the plaintext matches the encoded value. This is typically used for password authentication.

COMMON DIGEST LENGTHS



     CIPHER    | Binary | Base64 |  Hex
   ---------------------------------------
   | MD2       |   16   |   22   |  32  |
   | MD4       |   16   |   22   |  32  |
   | MD5       |   16   |   22   |  32  |
   | SHA-1     |   20   |   27   |  40  |
   | SHA-256   |   32   |   43   |  64  |
   | SHA-384   |   48   |   64   |  96  |
   | SHA-512   |   64   |   86   | 128  |
   | CRC-CCITT |    3   |    2   |   3  |
   | CRC-16    |    5   |    6   |   4  |
   | CRC-32    |   10   |   14   |   8  |
   | Adler-32  |    4   |    6   |   8  |
   | Whirlpool |   64   |   86   | 128  |
   | Haval-256 |   32   |   44   |  64  |
   ---------------------------------------



SEE ALSO

DBIx::Class::EncodedColumn::Crypt::Eksblowfish::Bcrypt, DBIx::Class::EncodedColumn, Digest

AUTHOR

Guillermo Roditi (groditi) <groditi@cpan.org>

Based on the Vienna WoC ToDo manager code by Matt S trout (mst)

CONTRIBUTORS

See DBIx::Class::EncodedColumn

LICENSE

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 DBIX::CLASS::ENCODEDCOLUMN::DIGEST (3) 2014-02-22

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.