i was thinking sending an email with the md5 password as token and check if the email+password are correct before showing the recover password form
1) user enters mail
2) if mail exists, send an email to with it with password as token
3) when user click to link: check if mail and md5 password are correct, if so:
4) show password generator form
-EDIT-
So how could be safer without adding any column to the user table?
It’s at least theoretically unsafe. See e.g. md5 decoding. How they do it? and MD5 security is fine?
But why do that in the first place? The following would be much more secure, and only marginally more difficult to implement:
123456789abclookup.php?key=123456789abcGive the key a lifetime of, say, 24 hours so illegitimate requests fade away.