MCPで接続 →

計算を入力してください

公式

広告

結果

生成されたUUID
5
バージョン4(ランダム)
40c53523-0856-4e00-9067-884afb90b7c7
b94cf353-06e4-4b39-8ee8-62ffc9d9cd66
bb7edae4-4a5d-43af-aa35-da17b8ede40b
cc933b51-8ca6-45cd-8e29-9508a569ce8e
a648877d-68dd-43e7-8797-953b726f4ed1

UUIDとは?

UUID(Universally Unique Identifier/汎用一意識別子)はGUIDとも呼ばれ、中央管理者を介さずにコンピューターシステム上の情報を一意に識別するための128ビットの値です。このツールが生成するのはバージョン4のUUIDで、ほぼすべてが乱数から作られます。122ビットものランダム性を持つため、生成された2つのUUIDが偶然一致する確率は限りなくゼロに近く、実質的に世界中で重複しない値として扱えます。これは特定のプログラミング言語に依存しない国際標準(RFC 4122)です。

このツールの使い方

必要なUUIDの個数(1~50個)を指定し、小文字・大文字のどちらで出力するかを選び、標準のハイフンを含めるかどうかを決めます。あとは計算ボタンを押して、結果をコピーするだけです。UUIDは、データベースの主キー、APIのリクエストID、ファイル名、セッショントークン、そして連番カウンターに頼れない分散システムの識別子など、さまざまな用途で重宝します。

フォーマットの仕組み

バージョン4のUUIDは、32桁の16進数を5つのグループに分け、ハイフンでつないで表記します。区切りは8-4-4-4-12桁で、たとえばxxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxxのような形です。4と書かれている桁はバージョンを示します。yと書かれている桁はバリアント(種別)を表し、89abのいずれかになります。それ以外のxはすべてランダムな16進数の桁です。

$$\text{UUID} = \underbrace{\texttt{xxxxxxxx}}_{8}\text{-}\underbrace{\texttt{xxxx}}_{4}\text{-}\underbrace{\texttt{4xxx}}_{4}\text{-}\underbrace{\texttt{Yxxx}}_{4}\text{-}\underbrace{\texttt{xxxxxxxxxxxx}}_{12}\quad\times\,\text{Count}$$

バージョン4のUUIDをハイフン区切りの5つのセグメントに分割し、固定のバージョンとバリアントの位置を示した図
UUID v4の5つのセグメント。固定のバージョン桁(4)とバリアント桁(y)を強調表示。

具体例で見てみよう

たとえば3f9a7c1e b204 1d88 9c33 a7f019be24c1というランダムな16進文字列があるとします。これを有効なv4 UUIDにするには、13桁目を強制的に4に、17桁目をバリアント用の桁に置き換えます。すると、たとえば3f9a7c1e-b204-4d88-9c33-a7f019be24c1のようになります。2つ目のハイフンの直後に4が、3つ目のハイフンの直後に9(有効なバリアント値の一つ)が入っている点に注目してください。

よくある質問

これらのUUIDは暗号学的に安全ですか? プラットフォームの擬似乱数生成器を使って作られており、識別子としての利用には十分です。ただし、高いセキュリティが求められる秘密情報には、専用の暗号学的乱数生成器を使うことをおすすめします。

2つのUUIDが同じになることはありますか? 理論上はあり得ますが、その確率は無視できるほど小さいものです。現実的に衝突を起こすには、毎秒数十億個を何年も生成し続ける必要があります。

ハイフンを取り除くと値は変わりますか? いいえ。ハイフンは見た目だけのもので、内部の128ビットの値はまったく同じです。

最終更新: