标签: php mysql sql
我正在处理私人消息系统,我想分配一个唯一的会话号码,以便我可以识别是否有多个用户参与同一个会话。我正在考虑分配发送消息+ microtime()的人的用户ID:
microtime()
$conversation_number = md5($_POST['user_id']+microtime());
此代码是否始终是唯一的数字,或者也可能意外地为后续消息生成相同的数字?
答案 0 :(得分:2)
您可以使用uniqid,用于生成唯一ID。
答案 1 :(得分:1)
为什么不使用UniqId()功能?
答案 2 :(得分:1)
我认为php uniqid就足够了
uniqid
来自PHP DOC
如果设置为TRUE,uniqid()将在返回值的末尾添加额外的熵(使用组合的线性同余生成器),这会增加结果唯一的可能性
试
uniqid('id', true)
然而,在md5的32位十六进制值(16 ^ 32)中,大约有3.402823669209387e + 38个不同的值,您的赔率非常小,将会有重复的全部相同
md5