JavaScript で GUID (Globally Unique Identifier) を作成するにはどうすればよいですか? GUID/UUID は少なくとも 32 文字の長さで、渡す際のトラブルを避けるために ASCII 範囲内に収める必要があります。
すべてのブラウザでどのようなルーチンが使用できるのか、組み込みの乱数ジェネレーターの「ランダム性」とは何か、シード方法などはわかりません。
P粉3524080382023-10-09 14:12:19
[RFC4122 準拠の UUID を生成するための最新のベスト プラクティスを反映するために 2023 年 3 月 5 日に編集]
crypto.randomUUID()
は、すべての最新のブラウザーと JS ランタイムで標準になりました。ただし、新しいブラウザー API は安全なコンテキストに制限されているため、このメソッドは、ローカル (localhost
または 127.0.0.1
) または HTTPS.
他の UUID バージョン、レガシー プラットフォームまたは安全でないコンテキストでの UUID の生成に興味のある読者のために、uuid モジュール
があります。これは十分にテストされ、サポートされています。
Math.random() に依存する any UUID ジェネレーターの使用は強く推奨されません
(この回答の以前のバージョンで紹介されていたスニペットを含む) ) 理由はここで最もよく説明されています. TL;DR: Math.random() に基づくソリューションは、良好な一意性の保証を提供しません。
P粉1904436912023-10-09 13:09:03
UUID (Universally Unique Identifier) は、RFC 4122 によれば、GUID (Globally Unique Identifier) とも呼ばれ、特定の一意性を保証するために設計された識別子です。
数行の JavaScript で RFC 準拠の UUID を実装することは可能ですが (たとえば、下記の @broofa の回答 を参照)、いくつかの一般的な落とし穴があります。
" の形式である必要があります。x は [0-9, a-f] のいずれかです)
Mは [1-5] のいずれかであり、N は [8、9、a、または b] です。
など)
uuid モジュールなど、厳密でよく保守された実装を使用することをお勧めします。 < /a>