创建唯一的对话号码

时间:2012-09-29 14:36:49

标签: php mysql sql

我正在处理私人消息系统,我想分配一个唯一的会话号码,以便我可以识别是否有多个用户参与同一个会话。我正在考虑分配发送消息+ microtime()的人的用户ID:

$conversation_number =  md5($_POST['user_id']+microtime());

此代码是否始终是唯一的数字,或者也可能意外地为后续消息生成相同的数字?

3 个答案:

答案 0 :(得分:2)

您可以使用uniqid,用于生成唯一ID。

答案 1 :(得分:1)

为什么不使用UniqId()功能?

答案 2 :(得分:1)

我认为php uniqid就足够了

来自PHP DOC

  

如果设置为TRUE,uniqid()将在返回值的末尾添加额外的熵(使用组合的线性同余生成器),这会增加结果唯一的可能性

  uniqid('id', true)

然而,在md5的32位十六进制值(16 ^ 32)中,大约有3.402823669209387e + 38个不同的值,您的赔率非常小,将会有重复的全部相同