在 Android 中不使用自动生成的密钥编写 Firebase 数据库

Writing Firebase Database without using their auto generated key in Android

我在我的 android 项目中使用 Firebase,每个用户都将存储他的详细信息,如姓名、phone 号码、video_url、thumbnail_url 等。现在我在之前的项目中使用它的方式如图所示-

我没有使用 Firebase 的自动生成 id/Hash,而是使用了电子邮件 ID。这样对我来说更容易。但有人告诉我,使用电子邮件而不是自动生成的 hash/ids 是不安全的,推荐的方法是使用哈希。那么问题来了,为了方便不使用哈希值而使用email id真的不安全吗?

此外,如果不安全,如果我们不将所有键值作为一个对象同时插入,那么在同一散列下写入不同键值对的推荐方法是什么?

Firebase 的推送 ID 更常用于您在更传统的数据库中使用序列号的情况。 Firebase 推送 ID 并不意味着作为一种安全机制,因为它们不包含足够的熵以致于无法猜测。有关它们的更多信息,请参阅此 blog post and this one.

在电子邮件地址下存储数据也很常见。

这两种方法都可以是安全的,也可以是不安全的,这取决于许多因素或您的应用程序的需求。如果有人告诉您您的数据结构不安全,我建议您询问 他们 它有什么不安全的地方。