Веб-приложение содержит конфиденциальные данные пользователей. Ни оператор веб-приложения, ни хостинг-провайдер не должны иметь возможность видеть эти данные. Поэтому я хотел хранить эти данные в БД, зашифрованном с входным паролем пользователей.
dataInDB = encrypt (rawData, user password)
При такой стратегии невозможно реализовать обычный прецедент для восстановления пароля: поскольку обычно веб-приложение хранит только хэш-значение пароля, приложение не может отправить старый, забытый пароль пользователю. И с назначением нового совпадающего пароля зашифрованные данные в БД более не читаются.
Есть ли другое решение?