我需要一个Firebase推送ID的整数表示

时间:2017-04-11 22:41:03

标签: android firebase firebase-realtime-database uniqueidentifier

也许这没有意义,但我需要一个Firebase push id的整数表示,就像[哈希]

一样

我希望能够以与创建push ID相同的方式从Firebase Hash创建Java Integer。 这是一个小实验,但想看看它是否可以完成。

假设我有Firebase推送ID -Kh7JD01FqBpzfCt_dVX并且我通过哈希函数运行它,我每次都会使用相同的哈希字符串。

但是,如果我可以通过一些“整数”函数运行-Kh7JD01FqBpzfCt_dVX,我每次都会这样做会得到相同的整数

是的,我知道我可以在2,147,483,647范围内创建随机整数,并希望不碰撞。但我觉得这比使用上面的方法

更安全

1 个答案:

答案 0 :(得分:0)

Firebase push IDs can hold 2^120 unique values。这是一个无法用整数捕获的范围。

使用字符串的hashCode()可以保证为您提供相同的数字(每次long)。但是对于给定的输入字符串,该哈希代码不能保证唯一:有多个将提供相同哈希码的字符串。