THanks all...
Batman, does crypt() have a decrypt() function associated with it? I really don't want to have a way to recover a lost password, because I think that would make it a bit vulnerable.
What I am trying to do is like your form shows, just have a way to verify the account in the event of a lost password (the PIN).
The email will be sent with the encrypted password sent in a link to the verified email, tey click on. When they do, it will immediately prompt them to change the password. I got all of that part)
The question really is this: What is the best method to use to encrypt the password? Also, do you recommend encrypting the PIN as well? I have read a lot of the inherent problems with using MD5, since it wasn't designed for passwords.
What about crc32(), sha1() and crypt(). From what I understand, they are all 1 way encryption algorithms. crc32 can sometimes generate negative results, so you have to call it differently, but seems pretty good.