1) you can use symmetric encryption instead of hash (crypt function is hash) - in this way you would have possibility to decrypt it.
2) usually sites services create special link and mail it to user. By this link we have page where we can change password. It is more safe way to store passwords.