创建类似Whats App的唯一消息ID

Pra*_*noi 0 java android uniqueidentifier

我正在创建聊天应用程序,因此想生成唯一的消息id。有可能永远不会创建重复的消息ID。

And*_*fat 5

从唯一ID的角度来看,MongoDB的ObjectId非常复杂,可能是良好的随机性之一。因此,您可以先窥探他们的源代码,看看他们是如何生成的。

在后代中将其定义从其官方文档中删除:

ObjectId很小,很可能是唯一的,可以快速生成并排序。ObjectId值由12个字节组成,其中前四个字节是反映ObjectId创建的时间戳,尤其是:

a 4-byte value representing the seconds since the Unix epoch,
a 3-byte machine identifier,
a 2-byte process id, and
a 3-byte counter, starting with a random value.
Run Code Online (Sandbox Code Playgroud)

Mongo的ObjectId示例:

ObjectId("507f1f77bcf86cd799439011")
Run Code Online (Sandbox Code Playgroud)