Android 我需要Firebase推送id的整数表示

Android 我需要Firebase推送id的整数表示,android,firebase,firebase-realtime-database,uniqueidentifier,Android,Firebase,Firebase Realtime Database,Uniqueidentifier,也许这没有意义,但我需要一个整数表示,其方式与[Hash]相同 我想知道是否有可能从Firebase创建一个Java整数,方法与创建Java整数的方法相同。 这是一个小实验,但想看看是否可以做到 假设我有Firebase推送id-Kh7JD01FqBpzfCt_dVX,并且我通过一个哈希函数运行它,每次我都会得到相同的哈希字符串 但是如果我可以通过某个“整数”函数运行-Kh7JD01FqBpzfCt_dVX,并且每次这样做都会得到相同的整数,那会怎么样 是的,我知道我可以创建范围内的随机整数,希

也许这没有意义,但我需要一个整数表示,其方式与[Hash]相同

我想知道是否有可能从Firebase创建一个Java整数,方法与创建Java整数的方法相同。 这是一个小实验,但想看看是否可以做到

假设我有Firebase推送id
-Kh7JD01FqBpzfCt_dVX
,并且我通过一个哈希函数运行它,每次我都会得到相同的哈希字符串

但是如果我可以通过某个“整数”函数运行
-Kh7JD01FqBpzfCt_dVX
,并且每次这样做都会得到相同的整数,那会怎么样

是的,我知道我可以创建范围内的随机整数,希望不会发生碰撞。但我觉得这比使用上述方法更不安全。这是一个无法在整数中捕获的范围


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

为什么不将哈希中的每个字符转换为八进制?根据散列长度,您可能会得到一个大的数字字符串,但您可以(通过其他方式)将其转换为范围(0,MAX_INT)内的整数。感谢您提供的信息,请稍等,Firebase可以让客户端锁定一个键值,并通过将其递增1来获得唯一整数,然后正确使用它。下一个客户机不会得到相同的整数,因为他首先也会递增。感觉像一个独特的整数发电机工厂??。现在也许我可以用它表示的Push Id来存储这个整数。现在我已经创建了表示推ID的整数??但我只能创建2147483647个。你觉得呢?你似乎对如何实现这个逻辑有些想法,所以:去做吧。如果你被卡住了,那就和别人分享吧。