从MongoDB的ObjectID获取webapp的唯一用户ID

时间:2015-10-29 01:14:43

标签: mongodb hostname

我需要获取一个唯一的用户ID,用于识别录音网络应用的用户。为了以最少的额外要求执行此操作,我尝试使用MongoDB的ObjectID来完成此操作。根据官方文档,ObjectId是一个12字节的BSON类型,使用:

构造
  • 一个4字节的值,表示自Unix纪元以来的秒数,
  • 一个3字节的机器标识符,
  • 一个2字节的进程ID,
  • 一个3字节的计数器,以随机值开始。

ObjectID 3字节机器字段是根据this答案的机器主机名的(md5)哈希的前三个字节。那么这对于给定的机器来说不应该是唯一的吗?

但是,机器标识符似乎不是我认为的那样。

--From Laptop--
56316c85 b47e28 f61a6 2b931
56316c89 b47e28 f61a6 2b934
--From a phone--
56316dc9 d75b48 ce1c4 9f2b3
56316dcb d75b48 ce1c4 9f2b4
--From the same Laptop--
56316f47 d75b48 ce1c4 9f2bd
56316f7e d75b48 ce1c4 9f2be

有人可以帮助我理解这个吗?这是在本地(在笔记本电脑上)托管的同一MongoDB,并且可以从电话的浏览器(在同一网络上)和笔记本电脑上访问一次。

0 个答案:

没有答案