1

私はプライベートメッセージシステムに取り組んでおり、複数のユーザーが同じ会話に参加しているかどうかを識別できるように、一意の会話番号を割り当てたいと思っています。メッセージを送信する人のユーザーIDを次のように割り当てることを考えていました+ microtime()

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

このコードは常に一意の番号を生成しますか、それとも誤って後続のメッセージに対して同じ番号を生成する可能性がありますか?

4

3 に答える 3

2

一意のIDを生成するために使用されるuniqidを使用できます。

于 2012-09-29T14:38:19.897 に答える
1

UniqId()関数を使用してみませんか?

于 2012-09-29T14:38:43.013 に答える
1

uniqidPHPで十分だと思います

PHPDOCから

TRUEに設定すると、uniqid()は、戻り値の最後にエントロピーを追加します(結合された線形合同法を使用)。これにより、結果が一意になる可能性が高くなります。

試す

  uniqid('id', true)

ただし、32桁の16進値(16 ^ 32)には約3.402823669209387e + 38の異なる値がmd5あり、オッズは驚くほど小さいため、すべて同じものが重複します。

于 2012-09-29T14:39:26.420 に答える