Хотя, возможно, с некоторыми исследованиями вы можете выбрать достаточно сильный криптографический метод, чтобы противостоять атаке с использованием открытого текста, стоит ли в действительности избегать сохранения хеша в вашей базе данных?
Использование одной парольной фразы для шифрования всех запросов на регистрацию выглядит так, как будто вы добавляете ненужную уязвимость в одну точку: если злоумышленник каким-то образом взломает эту парольную фразу, он может зарегистрировать столько учетных записей, сколько пожелает. Если, с другой стороны, вы генерируете для каждого нового запроса учетной записи одноразовый хеш (например, адрес электронной почты + случайное число) для проверки подлинности URL-адреса подтверждения, даже хакер, который перехватывает электронное письмо с подтверждением для учетной записи A, не ближе чтобы получить доступ к B, C или D.
Возможно, вы все равно хотите сохранить некоторую информацию о состоянии процесса подтверждения в базе данных: вероятно, должно быть ограничение по времени, в течение которого действителен URL подтверждения.