[Dbix-class] A better Digest / Encoding / Encryption Component

Guillermo Roditi groditi at gmail.com
Tue Jan 29 18:41:21 GMT 2008


After last night's initial release of DigestOnSet a couple of
suggestions / issues came up:

-- I forgot to add a 'salt' slot. (Doh!)
-- We really should make this more flexible, so we can use modules
outside of the Digest::* family
-- The name kind of sucks.


What I am looking for is ideas. If you keep digests in your database
let me know what could be easier and what could be more flexible.
-- What do you do and how do you do it?
-- How would you like to see a solution be implemented?
-- What would make development easier?
-- Are you interested in seeing 2-way ciphers be supported?
-- What are the essential ciphers that I should include support for
(besides the Digest::* family)

Tentative name is  "DBIx::Class::EncodedColumn"


Tentative API:

name => 'password',
data_type => 'char',
size => 43,
encode_column => 1,
encode_class => (Digest|Crypt|SOmeThingElse),
encode_args  =>
  {
    pre_salt   => 'string',
    post_salt => 'other string',
    algorithm => 'SHA-256',
    format    => 'base64',
    check_method => 'check_password',
  }


-------------------------------------------------

name => 'password',
data_type => 'char',
size => 43,
encode_column => 1,
encode_class => "Crypt::Eksblowfish::Bcrypt",
encode_args  =>
  {
    #salt gets generated automatically for this one
    cost => 8,
    key_nul => 1,
    check_method => 'check_password',
  }



--Guillermo Roditi



More information about the DBIx-Class mailing list