web-dev-qa-db-ja.com

UUIDとは何ですか?

さて、1つは何ですか?

36
doctor smith

これは、何かを一意に識別する識別番号です。そのID番号は普遍的に一意になるという考えです。したがって、2つのものが同じuuidを持つべきではありません。実際、10兆のuuidを生成する場合、2つのuuidが同じである可能性が.00000006の線に沿って何かがあります。

51
Jason Baker

標準化された識別子

[〜#〜] uuid [〜#〜] sは RFC 4122 で定義されています。これらはUniversallyUnique IDentifiersであり、一元化された権限を使用せずに生成できます。わずかに異なるシナリオで使用されるUUIDには4つの主要なタイプがあります。すべてのUUIDの長さは128ビットですが、通常、4つのハイフンで区切られた32個の16進文字として表されます。

最も一般的なバージョン1のUUIDは、MACアドレスとタイムスタンプを組み合わせて、十分な一意性を生み出します。複数のUUIDが十分に速く生成され、タイムスタンプが次の世代の前にインクリメントされない場合、タイムスタンプは手動で1インクリメントされます。使用可能なMACアドレスがない場合、またはその存在がプライバシー上の理由で望ましくない場合は、6ランダム代わりに、暗号的に安全なランダム番号ジェネレーターから供給されたバイトをノードIDに使用できます。

最も一般的ではないバージョン3およびバージョン5のUUIDは、それぞれMD5およびSHA1ハッシュ関数、名前空間、およびすでに一意のデータ値を使用して一意のIDを生成します。これは、たとえばURLからUUIDを生成するために使用できます。

バージョン4のUUIDは、単純に128ビットのランダムデータであり、UUIDのバージョンとバリアントを識別するためにビットをいじっています。

UUIDの衝突は、非常に発生する可能性は低く、特に単一のアプリケーションスペースでは発生しません。

46
Bob Aman

これは非常に長いビットの文字列であり、現在および永久に一意であると想定されています。つまり、あなたや世界中の誰かが作成した他のUUIDと衝突する可能性はありません。

それが機能する方法は、単に現在のタイムスタンプと、それを生成したコンピューターのインターネット関連の一意のプロパティ(インターネットに接続した時点で一意であるはずのIPアドレスやMACアドレスなど)を使用することです。より低レベルである場合、ネットワークカードのハードワイヤードID)はビット文字列の一部です。

元々、世界中のすべてのネットワークカードには独自の一意のMACアドレスがありますが、後の世代では、ソフトウェアを使用してMACアドレスを変更できるため、一意のIDほど信頼性が低くなりました。

8
bart

UUIDはUniversally Unique IDentifierの略です。これは、ソフトウェア開発で一意の識別に使用される128ビット値です。 UUIDはGUID(Microsoft)と同じであり、Open Software Foundation(OSF)によって標準化された分散コンピューティング環境(DCE)の一部です。

前述のように、それらは空間と時間にわたって一意性の可能性が高いことを目的としており、計算上推測するのは困難です。その生成は、現在のタイムスタンプとUUIDを生成したワークステーションの一意のプロパティに基づいています。

enter image description here からの画像 https://segment.com/blog/a-brief-history-of-the-uuid/

3
Johnny
2

UUIDは、あるエンティティを一意に識別するために使用される128ビットの数値です。使用される特定のメカニズムに応じて、UUIDは異なることが保証されているか、少なくとも、生成された他のUUIDとは非常に異なる可能性があります。 UUIDは、一意性を確保するためにコンポーネントの組み合わせに依存しています。 UUIDには、UUIDを生成したホストのネットワークアドレスへの参照、タイムスタンプ、およびランダムに生成されたコンポーネントが含まれます。ネットワークアドレスは一意のコンピューターを識別し、タイムスタンプは特定のホストから生成されたUUIDごとに一意であるため、これら2つのコンポーネントは十分に一意性を確保する必要があります。

1

UsUUID(静的ウィンドウ識別子)を使用する方が良いことを付け加えたいと思います。たとえば、目の不自由なユーザーや弱視のユーザー向けのスクリーンリーダーなどのサードパーティソフトウェアに依存しているコンピューターユーザーの場合、他のソフトウェア(この場合は画面が赤くなります)は一意の識別子を使用するとより適切に再生されます。駐車した場所を知った後、誰かがあなたの車を動かしたら、あなたはどれほど幸せになるでしょう!

1
Jonas Voll