[解決済み] 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 モジュールがあります。
関連
-
Vueでルートネスティングを実装する例
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] GUIDとUUIDの違いは何ですか?
-
[解決済み] PythonでGUID/UUIDを作成する方法
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み] Web API エラー - このリクエストはブロックされました; コンテンツは HTTPS で提供されなければなりません
-
[解決済み】JavaScriptでインラインIF文の書き方は?
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。