On Sat, Mar 15, 2008 at 10:06 PM, Steve Morrey
<[EMAIL PROTECTED]> wrote:
> Hello Everyone,
>
>  I am currently reviewing some source code for a custom CMS on behalf of a
>  client.
>  All of it looks pretty good to me except for the line of code that does the
>  actual login.
>  It looks like...
>  (Yes this is PHP)
>
>  if(sha1($user_password) == $password_from_db){
>            login($user_name);
>  }
>
>  What has me worried is that $user_password is hashed prior to this function
>  by an SHA1 function written in Javascript, prior to being passed in to PHP.
>  This means that we are comparing the hash of a hash, which we all know is
>  generally considered bad practice.
>
>  When I confronted the original developer about this, he remarked that he did
>  it "for security reasons, and because the design docs said the password
>  should not ever be transmitted or stored in plain text".
>
>  Thats all well and good except that what has effectively happened in my eyes
>  is an increased chance for hash collision.
>  Thats about the only reason I can think of why this is a bad idea.
>
>  I need some advice here...
>  Should I just give this code a nod?  I mean most passwords tend to be
>  insecure to begin with, and transmitting them in plain text is always a bad
>  idea.
>  Or should I reject this due to the increased chance of has collisions and/or
>  some other reason I can't remember off the top of my head?
>
>  Thoughts?
>
>  Sincerely,
>  Steve

I would think that as long as the passwords are in an encrypted
transmission, the need for also hashing them and then hashing the hash
seems to only make a problem more likely.  But on the other hand I can
see that some basic level of protecting the password should be
required even in cases where an SSL-type connection cannot be (or
isn't) utilized.
...says the non-developer

-Chad

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to