On Wed, 2007-01-17 at 13:51 -0500, Oscar Gosdinski wrote:
> Instead of hashing the password, i prefer to use the following procedure:
> 
> $user = ...
> $password = ...
> $hash = md5($user . $password);
> 
> Using this method, it will be very dificult guess the password if you
> get the hash because it depends also on the user name.
> 
> When you are going to login a user you have to check the hash stored
> in the database against the result of applying the md5 function on the
> result of concatenating the user name and the password provided by the
> user.
> 
> if ($db_hash == md5($user . $password)) {
>   // logged
> } else {
>   //error
> }

Yep, never a good idea to just rote md5() the password. Best to add a
sprinkle of salt, that way you avoid precomputed lookups. For instance
if you're server ever got compromised and the attacker got your md5
passwords, if they already had a precomputed database then finding the
reverse of the hash would be trivial.

Cheers,
Rob.
-- 
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for       |
| creating re-usable components quickly and easily.          |
`------------------------------------------------------------'

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to