Я использую метод отправки по электронной почте/паролю для Firebase. Я хотел бы зашифровать пользователей данных в базу данных реального времени, прежде чем отправлять их в базу данных. Firebase уже обрабатывает пароль пользователя, но могу ли я каким-то образом использовать его для шифрования данных, которые не могут быть расшифрованы мной только клиентом? Было бы неплохо, если бы я смог добиться этого с помощью клиента sdk.
Итак, мой поток будет примерно таким:
- Пользователь введет в него учетные данные (которые обрабатываются самой firebase)
- Пользователь шифрует некоторые данные с помощью уникального ключа, который может быть сгенерирован только из учетных данных или из некоторых данных, доступных только для пользователя, но не для меня. (этот ключ должен быть постоянным между сеансами или после того, как пользователь изменил свой пароль.)
- Данные сохраняются в базе данных (я не могу прочитать ее с момента ее зашифрования с учетными данными пользователя)
- Пользователь регистрируется на другом устройстве (ключ дешифрования может быть сгенерирован сразу и данные могут быть дешифрованы.)