GUID/UUID を生成するにはどうすればよいですか?
P粉304704653
P粉304704653 2023-10-08 14:55:18
0
2
593

JavaScript で GUID (Globally Unique Identifier) を作成するにはどうすればよいですか? GUID/UUID は少なくとも 32 文字の長さで、渡す際のトラブルを避けるために ASCII 範囲内に収める必要があります。

すべてのブラウザでどのようなルーチンが使用できるのか、組み込みの乱数ジェネレーターの「ランダム性」とは何か、シード方法などはわかりません。

P粉304704653
P粉304704653

全員に返信(2)
P粉352408038

[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() に基づくソリューションは、良好な一意性の保証を提供しません。

いいねを押す +0
P粉190443691

UUID (Universally Unique Identifier) は、RFC 4122 によれば、GUID (Globally Unique Identifier) とも呼ばれ、特定の一意性を保証するために設計された識別子です。

数行の JavaScript で RFC 準拠の UUID を実装することは可能ですが (たとえば、下記の @broofa の回答 を参照)、いくつかの一般的な落とし穴があります。

    無効な ID 形式 (UUID は "
  • xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx" の形式である必要があります。x は [0-9, a-f] のいずれかです) Mは [1-5] のいずれかであり、N は [8、9、a、または b] です。
  • 低品質のランダム性ソースの使用 (
  • Math.random など)
したがって、実稼働環境用のコードを作成する開発者は、

uuid モジュールなど、厳密でよく保守された実装を使用することをお勧めします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート