对于我构建的应用,我想使用Firebase push生成的ID作为电子邮件地址本地部分.由于dash( - )不允许作为第一个字符,我想用另一个字符替换它.
但这必须是可逆的.因此,我想知道Firebase推送ID包含哪些字符?到目前为止,我已经看到:
样品: -KD3rcGMuucRDjKOTK3O
Fra*_*len 12
生成一个独特的电子邮件地址可能有很多更好的方法,而不是使用Firebase的推送ID然后修改它们.也就是说,如果您想了解有关Firebase如何生成推送ID的更多信息,请阅读此博文:2 ^ 120种确保唯一标识符的方法.它还解释了为什么你不应该依赖push id来获得不可靠/安全.
从这篇文章中要认识到的重要一点是,push id的前8个字符包含一个编码的时间戳,这也是它们总是以相同的字符开头的原因,如果你生成它们彼此靠近的话.
该帖子还包含指向JavaScript代码要点的链接,以生成推送ID.
Firebase选择的字符集是:
-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz;
Run Code Online (Sandbox Code Playgroud)
正如你所看到的-,这只是这本词典中的第一个字符,这是push id(当前)全部以a开头的唯一原因-.在未来的某个时刻,他们将从a 0,然后是a 1等开始.如果你在gist中获取代码,你可以计算每次滚动发生的时间.
最后:我曾经写过如何从推送ID中获取时间戳的答案.建议不要这样做,但这可能是一个有趣的实验:您是否可以从Firebase数组键获取时间戳?
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |