Now, this may sound stupid and of course you will lose some functionality as the only way to get the email will be if it's entered unhashed manually by someone, but it is a great method of insurance if your website is compromised because the hacker will be left with some useless hashes.
Here is how I theoretically see this working, I could be wrong though:
- User enters email
- The email is hashed and checked against the hash in the database
- If it matches, then whatever was process was happening shall continue. Whether that process be a password reset, or something else