An easier (and more secure) way, surely, is to use one-way encryption... and
if a user forgets his/her password, replace it with a random alphanumeric
string and mail that to them instead with instructions to change it to one
of their own choosing as soon as possible.

Mike


----- Original Message -----
From: "Michael Collins" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, August 11, 2002 5:25 PM
Subject: Need reversible encryption as string


>
> I want to securely store a value that is used as a password to log
> someone into a Web application. I also want to be able to allow the
> user to search for their email address and have their password sent
> back to them (in readable form). Encrypt, MD5, and Password are
> non-reversible and thus will not work for my needs.
>
> The Encode function creates a value that is stored as binary. It
> seems that I cannot do a match type search, but I have to convert the
> stored password on each row as follows:
>
> SELECT * FROM MYDB
> WHERE EmailAddress=$EmailEntered AND
> DECODE(LoginPassword,'MySalt')=$PasswordEntered
>
> I would think that using the SQL shown would require a table scan,
> meaning that each and every record in the visitors table must be
> examined, the LoginPassword decoded and compared. There is also no
> way to index this field. I do not think this is the best solution
> after adding 100,000 records.
>
> I see that MySQL 4 offers AES_ENCRYPT() and AES_DECRYPT(), will this
> offer a solution? I believe this will allow me to store the password
> as a string of characters (and not binary data) so that a match can
> be made without having to decode the password, since I can decode
> what is entered by the user using the same salt and compare the two
> encrypted strings.
>
> SELECT * FROM MYDB
> WHERE EmailAddress=$EmailEntered AND
> LoginPassword=DECODE($PasswordEntered,'MySalt')
>
> The decrypt process would only be used when needing to send the
> result back to the user.
>
> Am I understanding this correctly?
>
> --
> Michael
> __
> ||| Michael Collins       |||
> ||| Kuwago Inc            |||      mailto:[EMAIL PROTECTED]
> ||| Seattle, WA, USA      |||      http://www.lassodev.com
>
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
>
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail
<[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>
>


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to