質問: Webアプリ制作中なのですが、インターネット上で利用できる unique な id を作成する方法を探しています。 RFC4122 を参考にすると、時間 + 端末固有の識別番号 を利用することで unique な id が作られるようなのですが、JavaScript で実装するにはどのような方法があるのでしょうか?JavaScript で利用できる端末固有の識別番号が思い浮かびませんでした。 検索方法が拙いのか、たどり着く参考情報が、RFC4122 のフォーマットに準じた乱数の発生方法ばかりなので、アドバイスを頂けると幸いです。 Firebase を利用したWebアプリの中で、メッセージにunique な id を振りたくて調べ始めたので、Firebase でのみ使用できる方法でも助かります。 また、今回 RFC4122 を参考にしましたが、それ以外にも有効なアルゴリズムがあれば、アドバイスいただけると助かります。
回答: よほど厳格なものを求める or ものすごく大量に生成するのでない限り、実用上UUIDv4の乱数生成で問題ありません(だからこそ実用できているわけですし)。もっとも、「乱数の種をどうするのか」という問題は残ることとなりますが。 ここの計算によれば、122ビットで純粋にランダムにできた場合、ランダムに30京個作成して、1組でも衝突がある確率がやっと1%程度、とのことです。