You've explained that much better than the on-line manual does. I'll try doing the "salt" stuff and see if that fixes things. But it still looks like "FM" to me. :queasy:
Anyway, as I was thinking thru this "issue" I think I finally discovered what crypt() is trying to do. I discovered this by reading thru (like a good little boy) the various users' notes that were contributed to the web page on that topic. And one of them mentioned a non-existent decrypt_md5() function.
Then it finally hit me what one-way encryption was all about. You take the user's input for a password from the Sys Admin Panel (or whatever you call your panel) when you sign them up. And then you hash it thru crypt() or md5(). You store that result in your favorite DB table. And then nobody knows what the hell it means.
Then, when User X logs into your killer app, your take his or her password entry, hash it again (but only with md5(), as crypt() will give you a different return value every time) and you then compare those two password variables. If you have a match, voilĂ ! If not, give them 2 or 3 attempts -- before you lock them out of your killer app with your favorite PHP script. :xbones:
Now, why in the f--k couldn't the geeks who wrote the PHP manual just say that to begin with? Which is also why you never, Never, NEVER let a geek write the manual.