1. ホーム
  2. guid

[解決済み】UUIDはどのようにユニークなのですか?

2022-05-03 01:41:42

質問

UUIDを使用して何かを一意に識別することは安全ですか(サーバーにアップロードされたファイルに使用しています)?私の理解では、それは乱数に基づいています。しかし、十分な時間があれば、純粋な偶然によって、最終的に自己を繰り返すと思われます。この問題を軽減するために、より良いシステムまたは何らかのパターンがあるのでしょうか?

解決方法は?

とても安全です。

<ブロッククオート

一人の人間が隕石に衝突するリスクは、年間約30億円。 170億分の1の確率と推定されています。 確率は約0.00000000006(6×10 -11 に相当する確率です。 1年間に数十兆個のUUIDを作成し、1つのUUIDを持つこと。 を複製する。言い換えれば、毎秒10億個のUUIDを生成して初めて 今後100年間、1秒間に1個しか作れない確率がある。 複製は50%程度になります。

注意点

しかし、これらの確率が成り立つのは、UUIDが生成されたときだけです。 十分なエントロピーを使用しています。そうでない場合、重複する確率は 統計的なばらつきがあるため、かなり高くなる可能性があります。 が低くなる。分散環境で一意な識別子が必要な場合 多くのアプリケーションからデータを取得してもUUIDが衝突しないようにするために デバイスを統合する場合、デバイスで使用されるシードとジェネレータのランダム性 は、アプリケーションの寿命が尽きるまで信頼できるものでなければならない。そこで これは実行不可能であるため、RFC4122では名前空間バリアントを使用することを推奨しています。 の代わりに

出典 は 重複するランダムUUIDの確率 セクション の、Universally unique identifiersに関するWikipediaの記事(リンク先は編集でこの部分が手直しされる前の2016年12月の改訂版です)。

また、同じUniversally unique identifierの記事の同じテーマの現在のセクションを参照してください。 衝突 .