GUID
「Globally Unique Identifier」を表します。
GUIDは、コンピューターシステム上の何かを一意に識別する128ビットの数値です。それぞれのGUIDはアルゴリズムによって生成され、シリアル番号に似た識別用の文字列を提供します。この文字列を持つオブジェクトは、ほかのどのシステムにも存在する可能性がほとんどありません。プログラムでは、データベースのレコード、ユーザーアカウント、トランザクション、セキュリティトークン、ハードウェアデバイスなど、さまざまなオブジェクトに固有のIDを作成するためにGUIDがよく使われます。
GUIDは、ハイフンで区切られたグループ(8-4-4-4-12)に並べた32個の16進数で構成されます。以下はGUIDの一般的な例です。
9AC1A6F1-4A87-4624-B5F5-B74D494E21E0
各GUIDは完全に一意であることを意図されていますが、その一意性は中央の機関によって保証されているわけではありません。GUIDを追跡して重複がないことを保証する巨大なデータベースは存在しません。代わりに、128ビットのデータによって許可される巨大なアドレス空間(340兆のさらに1兆倍のさらに1兆倍を超える数の値が可能)のおかげで、個々のGUIDは一意になる可能性が高くなっています。1秒あたり10億個のGUIDを生成したとしても、アドレス空間を使い切るには1兆年以上かかります。
GUIDの仕様では、結果が一意になる可能性を高めるために、それぞれが複数の要素を使用するいくつかの標準バージョンが定められています。バージョン1および2のGUIDジェネレーターは、シード値としてタイムスタンプとデバイスのMACアドレスを使用します。バージョン3および5のジェネレーターは、名前空間識別子とオブジェクトに付けられた名前を組み合わせ、その結果をMD5またはSHA-1アルゴリズムでハッシュ化してGUIDを作成します。バージョン4のジェネレーターは、乱数または疑似乱数の生成器を使用してGUIDを作成し、時間やデバイス固有の情報は含めません。ほとんどのプログラミング言語には、開発者がプログラムで利用できるGUID生成用のコードライブラリがあり、GUIDを生成するアプリやWebサイトも一般的に利用できます。
NOTE: GUIDはUUIDとも呼ばれ、これらの用語は同じ意味で使われることがあります。Microsoftは自社のプラットフォームでGUIDという用語を使うことを好みますが、その他の多くの企業はUUIDを使います。
知識をテストする