I have a hypothetical system where users enter their email address, and they are sent a one-time link to something or other. The system doesn't need to use the email addresses after that point, but it needs to ensure that a user doesn't perform this action twice with the same email address. To that end, I have decided to hash the email addresses just so I have a little bit less to worry about, security-wise1.
I am fully aware that a simple hash with no salt provides very little real security compared to a password hash like bcrypt, but because these are just email addresses, and not passwords, I don't think that will be much of a problem.
I have two questions:
- What hashing algorithm is most secure in this context? (Specifically, without using a salt)
- What other precautions can be taken to safeguard users' email addresses in the event of a data breach?
1This doesn't mean I'll be lazy on other areas. I'll obviously protect this information as if it was plaintext, but more security is probably better, right?