> I'd prefer some less-predictable salt than the suggestion below,  
> though. How about the old Unix passwd trick of choosing a some random  
> salt, and appending the salt in plaintext to the hash?

we could do that, without braking backward compatibility i think...
- store password in the following format:   hashtype$salt
$passwordhash  (with '$' separators, pretty standard stuff...)

to authenticate user:
- add a special case:   if no hashtype:  passwordhash -> md5$
$passwordhash
- use hashtype(password + salt),  for most of the standard hashtypes
(md5, sha1, sha256, ...)
(- do other weird stuffs...  like add a special hashtype bottiger,
bottiger$$passwordhash   will use the function md5( f(password) ) , f
being a deterministic function ) ;-)

we could add a special attribute for migration. if set to True, then
storage is migrated from the old format to the new format when user
logs in
the length of the salt can also be a parameter (if you really want to
play with some trade-off between storage/security, bad idea)

i can work on that, if it makes sense to you guys

 -olivier

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to