1. ホーム
  2. javascript

[解決済み] GUID / UUIDの作成方法

2022-03-15 07:26:37

質問

JavaScriptでグローバルにユニークな識別子を作成しようとしています。 すべてのブラウザでどのようなルーチンが利用できるのか、内蔵の乱数生成器がどの程度 "random"でシードされているのか、などについてはわかりません。

GUID / UUIDは最低でも32文字で、受け渡し時のトラブルを避けるためにASCIIの範囲にとどめるべきです。

解決方法は?

UUID(Universally Unique IDentifier)は、GUID(Globally Unique IDentifier)とも呼ばれ、以下のように言われています。 RFC 4122 は、ある種の一意性を保証するために設計された識別子である。

RFCに準拠したUUIDを数行のJavaScriptコードで実装することは可能ですが(例. ブルオファの回答 以下のように、いくつかの共通の落とし穴があります。

  • 無効なidの形式(UUIDは" xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx ここで、x は [0-9, a-f] のうちの 1 つです。 M は[1-5]のうちの1つであり N は[8、9、a、またはb]です。
  • 低品質のランダム性ソース(例えば Math.random )

したがって、本番環境用のコードを書いている開発者は、厳密でメンテナンスの行き届いた uuid モジュールがあります。